鱼C论坛

 找回密码
 立即注册
查看: 1397|回复: 4

[已解决]第19讲最后一题

[复制链接]
发表于 2021-11-18 10:07:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
nums = []
temp = input("请录入一个整数(输入STOP结束):")

while temp != "STOP":
    temp = int(temp)
    nums += [temp]
    temp = input("请录入一个整数(输入STOP结束):")

target = int(input("请录入目标整数:"))
n = len(nums)
for i in range(n):
    for j in range(i+1, n):
        if nums + nums[j] == target:
            print([i, j])



怎么修改可以在保证出现所有[i, j]的情况下,使得不存在[i, j]的情况下,print("不存在!")。
最佳答案
2021-11-18 10:20:59
加个 flag 来标记就可以了

  1. nums = []
  2. temp = input("请录入一个整数(输入STOP结束):")

  3. while temp != "STOP":
  4.     temp = int(temp)
  5.     nums += [temp]
  6.     temp = input("请录入一个整数(输入STOP结束):")
  7. print(nums)
  8. target = int(input("请录入目标整数:"))
  9. n = len(nums)
  10. flag = 0
  11. for i in range(n):
  12.     for j in range(i+1, n):
  13.         if nums[i] + nums[j] == target:
  14.             print([i, j])
  15.             flag = 1
  16. if flag == 0:
  17.     print('不存在')
复制代码

运行结果:
  1. 请录入一个整数(输入STOP结束):5
  2. 请录入一个整数(输入STOP结束):5
  3. 请录入一个整数(输入STOP结束):5
  4. 请录入一个整数(输入STOP结束):STOP
  5. [5, 5, 5]
  6. 请录入目标整数:10
  7. [0, 1]
  8. [0, 2]
  9. [1, 2]
复制代码
  1. 请录入一个整数(输入STOP结束):5
  2. 请录入一个整数(输入STOP结束):5
  3. 请录入一个整数(输入STOP结束):5
  4. 请录入一个整数(输入STOP结束):STOP
  5. [5, 5, 5]
  6. 请录入目标整数:5
  7. 不存在
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-18 10:20:59 | 显示全部楼层    本楼为最佳答案   
加个 flag 来标记就可以了

  1. nums = []
  2. temp = input("请录入一个整数(输入STOP结束):")

  3. while temp != "STOP":
  4.     temp = int(temp)
  5.     nums += [temp]
  6.     temp = input("请录入一个整数(输入STOP结束):")
  7. print(nums)
  8. target = int(input("请录入目标整数:"))
  9. n = len(nums)
  10. flag = 0
  11. for i in range(n):
  12.     for j in range(i+1, n):
  13.         if nums[i] + nums[j] == target:
  14.             print([i, j])
  15.             flag = 1
  16. if flag == 0:
  17.     print('不存在')
复制代码

运行结果:
  1. 请录入一个整数(输入STOP结束):5
  2. 请录入一个整数(输入STOP结束):5
  3. 请录入一个整数(输入STOP结束):5
  4. 请录入一个整数(输入STOP结束):STOP
  5. [5, 5, 5]
  6. 请录入目标整数:10
  7. [0, 1]
  8. [0, 2]
  9. [1, 2]
复制代码
  1. 请录入一个整数(输入STOP结束):5
  2. 请录入一个整数(输入STOP结束):5
  3. 请录入一个整数(输入STOP结束):5
  4. 请录入一个整数(输入STOP结束):STOP
  5. [5, 5, 5]
  6. 请录入目标整数:5
  7. 不存在
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-18 10:21:23 | 显示全部楼层
  1. #coding:gbk

  2. nums = []

  3. while True:
  4.     temp = input("请录入一个整数(输入STOP结束):") . strip()
  5.     if temp . isdigit():
  6.         nums += [int(temp)]
  7.     elif temp == 'STOP':
  8.         break
  9. target = int(input("请录入目标整数:"))
  10. print(nums . index(target)) if target in nums else print('不存在!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-18 10:28:23 | 显示全部楼层

大佬,题看错啦,是找值加起来为目标值的两个值的下标
还有,编码声明可以这样写吗?
不应该这样吗?
  1. # -*- coding:utf-8 -*-
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-18 11:58:16 | 显示全部楼层
白two 发表于 2021-11-18 10:28
大佬,题看错啦,是找值加起来为目标值的两个值的下标
还有,编码声明可以这样写吗?
不应该这样吗?


        你有写题吗?
        汉字编码只有在 Linux 下才声明 utf-8 ,在 Windows 下一定要声明 GBK 或 GB2312
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-1 06:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表