【发布时间】:2019-08-30 05:01:43
【问题描述】:
python 新手。我正在尝试制作一个彩票风格的东西,其中 for 循环将 5 随机数附加到一个列表中。
假设到目前为止的列表是nList = [1,2,3,4],而最后一次迭代恰好也是4。
我希望代码删除应该在最后一个索引中的额外4,并将其替换为一个全新的随机数,该随机数不会重复列表中的任何其余数字。我似乎无法理解它。
我试过nList.pop(),解决了删除重复的问题,只是不知道怎么添加新的随机数。
import random
nList = []
random.seed()
for x in range(5):
n = random.randint(1,39)
for item in nList:
if n == item:
nList.pop()
else:
nList.append(n)
print(nList)
我只是得到了一个较小的列表,这不是我想要的。
【问题讨论】:
-
如果
n已经在列表中,则将其删除并重新添加。这意味着在此循环迭代中没有添加新项目。解决方案:将外部for循环替换为while循环测试nList的长度。
标签: python loops random numbers generator