2454524965 发表于 2023-2-24 18:26:31

课后作业,列表

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 + nums == target:
            print()

代码是这样的但是我print(num)出来都还是空的列表,这是为啥呀

sfqxx 发表于 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)#改了这里
不知道行不行
如果行的话,麻烦设置最佳答案谢谢{:5_109:}

2454524965 发表于 2023-2-24 18:49:12

sfqxx 发表于 2023-2-24 18:29
print nums 应该需要缩进
不然还会执行这条指令
改进代码:


还是不行诶

isdkz 发表于 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 + nums == target:
            print()

2454524965 发表于 2023-2-24 18:51:39

sfqxx 发表于 2023-2-24 18:29
print nums 应该需要缩进
不然还会执行这条指令
改进代码:


哦我知道了我把num = []写进循环体里面了 每次循环都会洗白一次

歌者文明清理员 发表于 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)


有用的话设个最佳答案~

歌者文明清理员 发表于 2023-2-24 18:52:39

isdkz 发表于 2023-2-24 18:49


你怎么又抢先我一步{:10_266:}

歌者文明清理员 发表于 2023-2-24 18:53:28

算了,1 楼楼主,最佳答案给 isdkz 吧,他比我快

2454524965 发表于 2023-2-24 18:56:48

isdkz 发表于 2023-2-24 18:49


哈哈哈我也刚想到最佳给你

sfqxx 发表于 2023-2-24 18:59:10

cccccccccc

isdkz 发表于 2023-2-24 18:59:30

歌者文明清理员 发表于 2023-2-24 18:52
你怎么又抢先我一步

{:5_91:}

歌者文明清理员 发表于 2023-2-24 19:00:30

isdkz 发表于 2023-2-24 18:59



[长叹一声](史强):草[/长叹一声]
页: [1]
查看完整版本: 课后作业,列表