我试图生成一个列表五次,只使用一个while循环和一个数字列表。我编写的代码对我来说似乎很好,但列表只生成一次,然后为其他测试生成相同的列表。每次我都要一张随机列表。我不知道出了什么问题,所以我不知道如何解决它。任何帮助都将不胜感激
这是我的密码:
import random, time
number = 23
counter = 0
total = 5
counter2 = 0
current = 0
numbers = []
tally = 1
trash = []
while counter < total:
while counter2 < number:
for x in range(1):
current = random.randint(1, 366)
time.sleep(0.0001)
counter2 += 1
numbers.append(current)
numbersS = set(numbers)
size = len(numbersS)
if size < number:
print("1")
else:
print("0")
counter += 1
numbers = trash
行
numbers = trash
不是您想要的。它不会清空列表,只会使numbers
成为trash
的同义词。这意味着下次执行numbers.append(current)
时,您实际上会将该值添加到trash
列表中查看此简化代码和注释:
你应该只做
numbers = []
而不是numbers = trash
。或者,您可以使用相同的列表,并使用del numbers[:]
或numbers.clear()
将其截断相关问题 更多 >
编程相关推荐