python-如何使用循环将不同的随机数输入到列表中?
我的目标是将4个不同的数字输入到一个名为var的列表中。如果2个随机数给出相同的数字,则不会追加该数字,循环将迭代以选择一个新的随机数。但我的代码只给出不相等的随机数列表。例如,如果生成的随机数为1,4,4,3,则我的列表('var')将只有1,4,3。也就是说,总共只有3个数字。如何更正代码,将总共4个唯一的随机数添加到列表中python-如何使用循环将不同的随机数输入到列表中?,python,for-loop,arraylist,random,unique,Python,For Loop,Arraylist,Random,Unique,我的目标是将4个不同的数字输入到一个名为var的列表中。如果2个随机数给出相同的数字,则不会追加该数字,循环将迭代以选择一个新的随机数。但我的代码只给出不相等的随机数列表。例如,如果生成的随机数为1,4,4,3,则我的列表('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
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为止,因此可以使用
,而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.shuffle或random.sample
>>> import random
>>> random.sample(range(0, 9), 4) # xrange is using python 2.7