hxb892828794 发表于 2020-5-6 22:40:27

python求助,急急急:TypeError: 'NoneType' object is not iterable

题目是下面这个,我写的代码和 报错都在下边,红色的代码是有问题的,但是我不知道怎么改,希望大佬们能帮下忙

4. 彩票 双色球:
红球:7个,1 -- 33 之间的整数   不能重复
蓝球:1个,1 -- 17 之间的整数
(1) 随机产生一注彩票.
(2) 在控制台中购买一注彩票
提示:
    "请输入第1个红球号码:"
    "请输入第2个红球号码:"
    "号码不在范围内"
    "号码已经重复"
    "请输入蓝球号码:"


import random
i = 1
list01 = []
while len(list01) < 7 :
    redi = random.randint(1,33)
    if redi not in list01:
      list01.append(redi)
    i += 1
blue = random.randint(1,17)
list01.append(blue)
print(list01)

j = 1
list02 = []
while len(list02) <7:
    lottery_red0j = int(input("请输入第%d个红球号码:"%(j)))
    if 1<=lottery_red0j<=33:
      if lottery_red0j not in list02:
          list02.append(lottery_red0j)
      else:
            print("号码已经重复")
            j -= 1
    else:
      print("号码不在范围内")
    j += 1
lottery_blue = int(input("请输入蓝球号码:"))
list02.append(lottery_blue)

k = 0
list03 = list02.remove(lottery_blue)
for idex in list03:
    if idex in list01:
      k += 1
if k == 7 and lottery_blue in list01:
    print("中奖了")
else:
    print("很遗憾,没中奖")
返回的错误:
Traceback (most recent call last):
File "D:/PycharmProjects/untitled/day01/code01", line 38, in <module>
    for idex in list03:
TypeError: 'NoneType' object is not iterable

Process finished with exit code 1

_荟桐_ 发表于 2020-5-6 23:04:55

remove方法没返回值
所以list03就是none对象
不能for循环

pythonboy123 发表于 2020-5-6 23:28:28

问题就是楼上说的那个,remove没有返回,你这个赋值语句错了,改的话就用pop方法就行,看你写的代码lottery_blue正好在列表尾
修改代码
list03 = list02.pop()

hxb892828794 发表于 2020-5-7 07:52:37

_荟桐_ 发表于 2020-5-6 23:04
remove方法没返回值
所以list03就是none对象
不能for循环

非常感谢

hxb892828794 发表于 2020-5-7 07:53:33

pythonboy123 发表于 2020-5-6 23:28
问题就是楼上说的那个,remove没有返回,你这个赋值语句错了,改的话就用pop方法就行,看你写的代码lottery ...

非常感谢

神秘小帅哥 发表于 2020-5-7 07:55:09

list03 = list02.remove(lottery_blue)
list03没有值,list02.remove()后可以直接for循环list02

Mrzhou1201 发表于 2020-5-7 07:55:32

同新手。我认为第一段代码 变量i是没意义的。变量redi不会跟着变化的,除非对它格式化。
第二段用range(1,33)或者是<33。
等一下我上机实验一下

zwhe 发表于 2020-5-29 10:13:40

{:7_139:}
页: [1]
查看完整版本: python求助,急急急:TypeError: 'NoneType' object is not iterable