我的目标是将 4 个不同的数字输入到名为 var 的列表中。如果 2 个随机数给出相同的数字,则不追加,循环迭代以选择一个新的随机数。但是我的代码只会给出不相等的随机数列表。例如,如果生成的随机数是 1、4、4、3,我的 list('var') 将只有 1、4、3。即,总共只有 3 个数字。如何更正代码以将总共 4 个唯一随机数附加到列表中?
import random
var=[]
end=4
for i in range(0,end,1):
k=random.randint(0,9)
print k
if k not in var:
var.append(k)
else:
end+=1
最佳答案
所以这里的要求是你继续做这个操作,直到你的数组长度为 4,所以你可以使用 while len(arr) < 4
.为您编码的示例:
import random
var=[]
end=4
while len(var) < end:
k=random.randint(0,9)
print k
if k not in var:
var.append(k)
更好的方法是 random.sample
>>> import random
>>> random.sample(range(0, 9), 4) # xrange is using python 2.7
阅读here .
关于python - 如何使用循环将不同的随机数输入到列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47363262/