|
发表于 2022-11-9 16:44:50
|
显示全部楼层
本楼为最佳答案
本帖最后由 jackz007 于 2022-11-9 17:04 编辑
- while a != 'STOP':
- c . append(a)
- a = input('请输入一个整数(输入STOP结束):')
- . . . . . .
- for i in range(n):
- for j in range(i + 1 , n):
- if c[i] + c[j] == target : # 这个不可能,c[i] + c[j] 是字符串,target 是整型数,二者不可比较
复制代码
这个循环有逻辑缺陷
- for i in range(n):
- for j in range(i + 1 , n):
复制代码
当 i = n - 1 时,j = i + 1 = n 超出列表索引,显然不合理,应该改为下面这样
- for i in range(n - 1):
- for j in range(i + 1 , n):
复制代码- c = []
- while True:
- a = input('请输入一个整数(输入STOP结束) :')
- if a != 'STOP' : c . append(int(a))
- else : break
- target = int(input('输入目标数:'))
- for i in range(len(c) - 1):
- for j in range(i + 1 , len(c)):
- if c[i] + c[j] == target : print([i , j])
复制代码
运行实况:
- D:\[00.Exerciese.2022]\Python>python x.py
- 请输入一个整数(输入STOP结束) :22
- 请输入一个整数(输入STOP结束) :33
- 请输入一个整数(输入STOP结束) :45
- 请输入一个整数(输入STOP结束) :18
- 请输入一个整数(输入STOP结束) :62
- 请输入一个整数(输入STOP结束) :88
- 请输入一个整数(输入STOP结束) :93
- 请输入一个整数(输入STOP结束) :72
- 请输入一个整数(输入STOP结束) :67
- 请输入一个整数(输入STOP结束) :19
- 请输入一个整数(输入STOP结束) :STOP
- 输入目标数:100
- [1, 8]
- D:\[00.Exerciese.2022]\Python>
复制代码
|
|