2015-11-06 13 views
0

我写了一些代码,它们根据列表中的位置弹出6个数字,然后将实际数字追加到新列表中。所有人看起来都不错,但我现在已经注意到,有时新的名单只包括4或5个数字,而不是预期的六个数字。我很困惑为什么。在Python中的不同列表中追加和弹出

import random 

numbers=list(range(1,60)) 
drawn=[] 

for n in range (1,7): 
    x=(random.randint(0,len(numbers))) 
    if x in numbers: 
      drawn.append(numbers[x]) 
      numbers.pop(x) 
print("List with numbers popped")`enter code here` 
print(numbers) 

print("New list with random numbers appended") 
print(drawn) 
+1

对于其中一个,你的随机生成器是从0到59之间选择的。'numbers'是1-59。那么当随机数为0时会发生什么? – Jkdc

+1

如果'x'的随机值与之前的迭代相同,那么'如果数字中的x'将声明错误 –

回答

1
numbers

填充有值[1,60],然而,x将在范围[0,60]。

所以有时候x是0,这是从来没有出现在numbers