我打算做的是在名为var的列表中输入4个不同的数字。如果2个随机数给出相同的数字,则不附加,并且循环迭代以选择新的随机数。但是我的代码只会给出不相等的随机数列表。例如,如果生成的随机数是1,4,4,3,我的列表(' var')将只有1,4,3。即,总共只有3个数字。如何更正代码以将总共4个唯一随机数附加到列表中?
std::back_insert_iterator
答案 0 :(得分: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。