如何使用randomint python获得唯一的数字?

2024-04-28 20:52:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我创造了一个'欧洲百万彩票发电机'只是为了好玩,我不断得到相同的数字打印出来。如何才能使我得到随机数,而不会出现相同的数字:

from random import randint

numbers = randint(1,50)

stars = randint(1,11)


print "Your lucky numbers are: ", numbers, numbers, numbers, numbers, numbers

print "Your lucky stars are: " , stars, stars

结果是:

^{pr2}$

我该怎么解决这个问题?在

问候


Tags: fromimportyour数字randomare发电机print
3条回答

设置一组数字,然后洗牌并切片。在

from random import shuffle
numbers  = list(range(1,51))
shuffle(numbers)
draw = numbers[:6]
print(draw)

numbers = randint(1,50)给变量赋值一个随机数。你反复使用这个随机数。stars也是如此

试试这个:

print "Your lucky numbers are: ", randint(1,50), randint(1,50), randint(1,50), randint(1,50), randint(1,50) 

也可以创建一个数字列表,然后随机抽取一个样本:

^{pr2}$

您正在生成一个编号,然后将其打印多次。在

生成多个数字:

print "Your lucky numbers are: ", randint(1,50), randint(1,50), randint(1,50), randint(1,50), randint(1,50)

或生成列表:

^{pr2}$

或者更好的是,生成所有允许的数字(使用range()),然后从中选取一个样本:

possible_numbers = range(1, 51)  # end point is not included
numbers = random.sample(possible_numbers, 5)
print "Your lucky numbers are: ", ' '.join(map(str, numbers))

现在,numbers被保证由完全唯一的数字组成。在

numbers变量不会在每次打印时奇迹般地更新,因为它只引用random.randint(1, 50)结果。在

相关问题 更多 >