无可救药张某某 发表于 2020-5-8 15:18:20

新人小白求助!为什么会出这种错误

while len(list1) < 7: # list1 = []
        redi = random.randint(1,33)
        if redi not in list1:
                list1 = list1.append(redi)
        else:
                continue
        if len(list1) == 7:
                redi_blue = random.randint(1,17)
                list1 = list1.append(redi_blue)
                print(list1)

Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
    while len(list1) < 7:
TypeError: object of type 'NoneType' has no len()

大佬们求助呀...不懂

qiuyouzhi 发表于 2020-5-8 15:20:52

列表的大部分方法都没有返回值,所以直接list1.append()即可。

无可救药张某某 发表于 2020-5-8 15:28:11

qiuyouzhi 发表于 2020-5-8 15:20
列表的大部分方法都没有返回值,所以直接list1.append()即可。

emmm..意思就是len()没办法检查出列表的长度吗?

qiuyouzhi 发表于 2020-5-8 15:29:06

无可救药张某某 发表于 2020-5-8 15:28
emmm..意思就是len()没办法检查出列表的长度吗?

你没有get到我说的点。。。
那个list1 = list1.append()那里
直接list1.append()就够了

zltzlt 发表于 2020-5-8 15:30:12

while len(list1) < 7: # list1 = []
      redi = random.randint(1,33)
      if redi not in list1:
                list1.append(redi)
      else:
                continue
      if len(list1) == 7:
                redi_blue = random.randint(1,17)
                list1.append(redi_blue)
                print(list1)

无可救药张某某 发表于 2020-5-8 15:31:49

qiuyouzhi 发表于 2020-5-8 15:29
你没有get到我说的点。。。
那个list1 = list1.append()那里
直接list1.append()就够了

....改了之后还是不能转..一样的错误。

永恒的蓝色梦想 发表于 2020-5-8 15:33:08

无可救药张某某 发表于 2020-5-8 15:31
....改了之后还是不能转..一样的错误。

while len(list1) < 7: # list1 = []
      redi = random.randint(1,33)
      if redi not in list1:
                list1.append(redi)
redi_blue = random.randint(1,17)
list1.append(redi_blue)
print(list1)

无可救药张某某 发表于 2020-5-8 15:33:46

zltzlt 发表于 2020-5-8 15:30


一样的错误提示呀。。我吐了,好难{:5_104:}

qiuyouzhi 发表于 2020-5-8 15:35:30

无可救药张某某 发表于 2020-5-8 15:31
....改了之后还是不能转..一样的错误。

你把你代码发出来(修改过后的)

qiuyouzhi 发表于 2020-5-8 15:37:17

无可救药张某某 发表于 2020-5-8 15:31
....改了之后还是不能转..一样的错误。

你这代码BUG有点多,我帮你全部改过来了
import random

list1 = []
while len(list1) < 7: # list1 = []
      redi = random.randint(1,33)
      if redi not in list1:
                list1.append(redi)
      else:
                continue
      if len(list1) == 7:
                redi_blue = random.randint(1,17)
                list1.append(redi_blue)
                print(list1)

无可救药张某某 发表于 2020-5-8 15:37:38

while len(list1) < 7: # list1 = []
        redi = random.randint(1,33)
        if redi not in list1:
                list1.append(redi)
        else:
                continue
        if len(list1) == 7:
                redi_blue = random.randint(1,17)
                list1.append(redi_blue)
                print(list1)

求求各位大佬检查检查....

无可救药张某某 发表于 2020-5-8 15:42:17

qiuyouzhi 发表于 2020-5-8 15:37
你这代码BUG有点多,我帮你全部改过来了

谢谢大佬,你的可以转...难受了。{:5_100:}

无可救药张某某 发表于 2020-5-8 15:46:14

zltzlt 发表于 2020-5-8 15:30


谢谢大佬

qiuyouzhi 发表于 2020-5-8 15:47:32

无可救药张某某 发表于 2020-5-8 15:42
谢谢大佬,你的可以转...难受了。

我说下错误:
1,用random模块的函数,需要导入random。
2,while循环的那个条件,在while前面没有定义list1,所以会报错。
3就是列表的方法没有返回值。
页: [1]
查看完整版本: 新人小白求助!为什么会出这种错误