鱼C论坛

 找回密码
 立即注册
查看: 2827|回复: 11

[已解决]课后作业,列表

[复制链接]
发表于 2023-2-24 18:26:31 | 显示全部楼层 |阅读模式

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

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

x
while True:
    nums = []
    r = input("请录入一个整数")
    if r == "STOP":
        break
    else:
        s = int(r)
        nums.append(s)
print(nums)
   
target = int(input("请录入目标整数"))

n = len(nums)
for i in range(n):
    for j in range(i + 1,n):
        if nums[i] + nums[j] == target:
            print([i,j])

代码是这样的  但是我print(num)出来都还是空的列表,这是为啥呀
最佳答案
2023-2-24 18:49:39
nums = []                           # 这个不能放到 while 循环里面,否则 nums 每次循环都会被赋值成空列表
while True:
    r = input("请录入一个整数")
    if r == "STOP":
        break
    else:
        s = int(r)
        nums.append(s)
print(nums)
   
target = int(input("请录入目标整数"))

n = len(nums)
for i in range(n):
    for j in range(i + 1,n):
        if nums[i] + nums[j] == target:
            print([i,j])
屏幕截图 2023-02-24 182603.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-24 18:29:06 | 显示全部楼层
本帖最后由 sfqxx 于 2023-2-24 18:32 编辑

print nums 应该需要缩进
不然还会执行这条指令
改进代码:
while True:
    nums = []
    r = input("请录入一个整数")
    if r == "STOP":
        break
    else:
        s = int(r)
        nums.append(s)
        print(nums)#改了这里
不知道行不行
如果行的话,麻烦设置最佳答案谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-24 18:49:12 | 显示全部楼层
sfqxx 发表于 2023-2-24 18:29
print nums 应该需要缩进
不然还会执行这条指令
改进代码:

还是不行诶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-24 18:49:39 | 显示全部楼层    本楼为最佳答案   
nums = []                           # 这个不能放到 while 循环里面,否则 nums 每次循环都会被赋值成空列表
while True:
    r = input("请录入一个整数")
    if r == "STOP":
        break
    else:
        s = int(r)
        nums.append(s)
print(nums)
   
target = int(input("请录入目标整数"))

n = len(nums)
for i in range(n):
    for j in range(i + 1,n):
        if nums[i] + nums[j] == target:
            print([i,j])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-24 18:51:39 | 显示全部楼层
sfqxx 发表于 2023-2-24 18:29
print nums 应该需要缩进
不然还会执行这条指令
改进代码:

哦  我知道了  我把num = []写进循环体里面了 每次循环都会洗白一次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-24 18:51:52 | 显示全部楼层
因为你每次都设了 nums 为空列表,也就是
nums = []
你写在了 While 循环的里面。
应该,
nums = []
while True:
    r = input("请录入一个整数")
    if r == "STOP":
        break
    else:
        s = int(r)
        nums.append(s)
print(nums)

有用的话设个最佳答案~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-24 18:52:39 | 显示全部楼层

你怎么又抢先我一步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-24 18:53:28 | 显示全部楼层
算了,1 楼楼主,最佳答案给 isdkz 吧,他比我快
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-24 18:56:48 | 显示全部楼层

哈哈哈  我也刚想到  最佳给你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-24 18:59:10 | 显示全部楼层
cccccccccc
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-24 18:59:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-24 19:00:30 | 显示全部楼层



[长叹一声](史强):草[/长叹一声]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 07:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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