鱼C论坛

 找回密码
 立即注册
查看: 1442|回复: 3

[已解决]新版 零基础学习python 第19讲 课后作业1

[复制链接]
发表于 2021-1-6 15:37:54 | 显示全部楼层 |阅读模式
5鱼币
1. 这次我们想让用户自己来录入 nums 和 target 的数据,请修改上一题的代码,让程序实现如下:
190827lk0ra554nxa3hmmh.png

我自己写的代码如下:
  1. nums = []

  2. while True:
  3.     num = input("请录入一个整数(输入STOP结束):")
  4.     if num == "STOP":
  5.         break
  6.     else:
  7.         nums.append(num)
  8.    
  9. target = input('请录入目标整数:')

  10. n = len(nums)
  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])
复制代码


问题:录入数字都可以,但是到最后打印不出来结果。


最佳答案
2021-1-6 15:37:55
  1. nums = []

  2. while True:
  3.     num = input("请录入一个整数(输入STOP结束):")
  4.     if num == "STOP":
  5.         break
  6.     else:
  7.         nums.append(int(num))    #input的返回值是字符串,字符串'33' + '67'  会返回'3367'同样也是字符串

  8. target = input('请录入目标整数:')

  9. n = len(nums)
  10. for i in range(n):
  11.     for j in range(i + 1, n):
  12.         if nums[i] + nums[j] == int(target):   #字符串'3367' 自然不等于字符串'100',因此if永远都为flase   加一个int转化成整型就可以了
  13.             print([i, j])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2021-1-6 15:37:55 | 显示全部楼层    本楼为最佳答案   
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-6 15:54:17 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-6 21:02:13 | 显示全部楼层

懂了,忘记input()返回值是字符串了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-13 01:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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