鱼C论坛

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

[已解决]Python课后作业列表【1】动动手第1题

[复制链接]
发表于 2023-4-1 16:50:10 | 显示全部楼层
代码中的问题出现在第 15 行,具体原因如下:
1. 在代码中,从输入的 a 中得到的是字符串类型,而不是整数类型,需要将其转换为整数类型才能进行数值计算。
2. 在代码中,判断 nums[i] + nums[j] 是否等于目标整数 target 的方式是错误的,应该是 nums[i] + nums[j] == int(target)。
3. 在代码中,如果找到了满足条件的值,应该直接打印结果并退出循环,而不是每次循环都打印一次。
修改后的代码如下所示:

  1. nums = []
  2. isinput = True
  3. while isinput == True:
  4.     a = input('请录入一个整数(输入STOP结束):')
  5.     if a != 'STOP':
  6.         nums.append(int(a))
  7.     else:
  8.         isinput = False
  9. target = input('请输入目标整数:')
  10. n = len(nums)
  11. found = False
  12. for i in range(n):
  13.     for j in range(i+1,n):
  14.         if nums[i] + nums[j] == int(target):
  15.             print([i,j])
  16.             found = True
  17.             break
  18.     if found:
  19.         break
  20. if not found:
  21.     print('没找到')
复制代码


修改后的代码中,首先将输入的字符串类型的整数转换为了整数类型,然后修改了判断条件,最后添加了一个 found 变量,用于标记是否找到了符合条件的值,如果找到了则直接退出循环并打印结果,否则在循环结束后打印 '没找到'。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-1 17:50:36 | 显示全部楼层
c,凭什么不选我!!!!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-20 03:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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