首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复随机数

重复随机数
EN

Stack Overflow用户
提问于 2014-02-21 12:20:47
回答 7查看 286关注 0票数 3

我已经创建了一个宾果游戏,其中产生随机数,并要求一个列表。

代码语言:javascript
复制
bingo_num = random.randint(1,100)

我怎样才能阻止随机数不止一次地被生成?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-02-21 12:38:40

就像他们在真正的宾果游戏中一样。他们不会掷骰子,而是把所有的数字放在一个大袋子里,摇动它,然后一次抽出一个数字,直到所有的数字都用完为止。

代码语言:javascript
复制
numbers = list(range(1, 101)) # all the numbers in the bag, from 1 to 100
random.shuffle(numbers)       # shake the bag
bingo_num = numbers.pop()     # pull out next number (inside your loop)
票数 2
EN

Stack Overflow用户

发布于 2014-02-21 12:26:39

我建议你,random.shuffle

代码语言:javascript
复制
from random import shuffle
my_list = range(100)
shuffle(my_list)
print my_list

但是,如果您只需要特定数量的唯一数字,则可以使用random.sample,如下所示

代码语言:javascript
复制
from random import sample
my_list = range(100)
print sample(my_list, 10)
票数 3
EN

Stack Overflow用户

发布于 2014-02-21 12:27:39

您可以从随机库获取一个范围的示例

代码语言:javascript
复制
>>> import random
>>> nums = random.sample(range(0,200),100)
>>> nums
[143, 149, 52, 183, 161, 179, 180, 155, 163, 157, 139, 15, 154, 181, 56, 29, 31,
 14, 77, 82, 165, 32, 35, 92, 109, 172, 69, 99, 54, 3, 88, 76, 11, 126, 78, 162,
 198, 145, 124, 75, 114, 174, 136, 100, 190, 193, 148, 153, 167, 113, 38, 17, 16
8, 0, 196, 73, 47, 164, 184, 6, 140, 30, 58, 74, 4, 79, 147, 178, 191, 21, 112,
13, 27, 57, 199, 116, 28, 104, 111, 71, 23, 85, 170, 25, 141, 156, 91, 7, 182, 1
34, 94, 169, 175, 166, 137, 160, 129, 36, 67, 135]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21934380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档