Python 3.8 "TypeError: 'int' object is not iterable" when trying to add an int to a list
Python 3.8 "TypeError: 'int' object is not iterable" when trying to add an int to a list
我正在编写一个程序,它生成一个从 1 到 100 的随机数,然后,如果该数字不在列表中,它会将其添加到列表中并继续这样做,直到有 100 个唯一数字在列表中。到目前为止,这是我的代码:
from random import randint
numbers = []
loop = True
while loop == True:
number = randint(1, 100)
if number in numbers:
print("{} is there already!".format(number))
else:
numbers += number
但它一直给我这个错误:
Traceback (most recent call last):
File "main.py", line 9, in <module>
numbers += number
TypeError: 'int' object is not iterable
但是,我很确定,我的代码没有任何问题。我该怎么办?
如果您只想创建一个随机编号从 1 到 100 的列表
这可能是更高效的代码
my_list = list(range(1,101))
random.shuffle(my_list)
print(my_list)
您可以修复随机种子,这样输出会被打乱,但不会每次都改变 运行
my_list = list(range(1,101))
random.seed(123)
random.shuffle(my_list, random=None)
print(my_list)
至于您的代码,您不能对列表执行 +=
使用 .append
(它将您的号码作为参数并将其添加到列表末尾)
numbers.append(number)
只需将 numbers += number
替换为 numbers.append(number)
。
我认为您正尝试在数字列表中随机添加 1-100 之间的随机数,并且您不想多次添加任何内容
from random import randint
numbers = []
loop = True
while loop == True:
number = randint(1, 100)
if number in numbers:
print("{} is there already!".format(number))
else:
numbers += [number]
这样就可以了。
我认为你应该使用 append 而不是 adding,因为它花费的时间少得多。
看起来像这样
from random import randint
numbers = []
loop = True
while loop == True:
number = randint(1, 100)
if number in numbers:
print("{} is there already!".format(number))
else:
numbers.append(number)
我正在编写一个程序,它生成一个从 1 到 100 的随机数,然后,如果该数字不在列表中,它会将其添加到列表中并继续这样做,直到有 100 个唯一数字在列表中。到目前为止,这是我的代码:
from random import randint
numbers = []
loop = True
while loop == True:
number = randint(1, 100)
if number in numbers:
print("{} is there already!".format(number))
else:
numbers += number
但它一直给我这个错误:
Traceback (most recent call last):
File "main.py", line 9, in <module>
numbers += number
TypeError: 'int' object is not iterable
但是,我很确定,我的代码没有任何问题。我该怎么办?
如果您只想创建一个随机编号从 1 到 100 的列表
这可能是更高效的代码
my_list = list(range(1,101))
random.shuffle(my_list)
print(my_list)
您可以修复随机种子,这样输出会被打乱,但不会每次都改变 运行
my_list = list(range(1,101))
random.seed(123)
random.shuffle(my_list, random=None)
print(my_list)
至于您的代码,您不能对列表执行 +=
使用 .append
(它将您的号码作为参数并将其添加到列表末尾)
numbers.append(number)
只需将 numbers += number
替换为 numbers.append(number)
。
我认为您正尝试在数字列表中随机添加 1-100 之间的随机数,并且您不想多次添加任何内容
from random import randint
numbers = []
loop = True
while loop == True:
number = randint(1, 100)
if number in numbers:
print("{} is there already!".format(number))
else:
numbers += [number]
这样就可以了。
我认为你应该使用 append 而不是 adding,因为它花费的时间少得多。 看起来像这样
from random import randint
numbers = []
loop = True
while loop == True:
number = randint(1, 100)
if number in numbers:
print("{} is there already!".format(number))
else:
numbers.append(number)