| 
 | 
 
 
发表于 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>
 
  复制代码 
 |   
 
 
 
 |