我试图从列表中获取随机数,但这些数字只允许从随机选择的第一个数字开始上升。它在第一次循环时工作正常,但在第二次循环时会出现以下错误:
Traceback (most recent call last): Num = random.choice(listNum)
以及:
raise IndexError('Cannot choose from an empty sequence')
这是我使用的代码:
import random
listNum = list(range(100))
for n in range(100):
Num = random.choice(listNum)
print(Num)
del listNum[0:Num]
print(listNum)
当你这样做的时候
删除索引Num之前的所有元素,但在第一个循环之后,它没有完全按照您的要求执行操作,因为它不删除Num之前的元素,而是删除Num元素,您需要的是:
您应该添加},它将捕获索引错误,并执行有助于解决该错误的操作
try
{其他一些更聪明的解决方案是:
另外,请记住,您的列表越来越小,因此您不能只
del [0: Num]
相关问题 更多 >
编程相关推荐