【发布时间】:2022-01-30 14:20:45
【问题描述】:
所以我在异步 python 中工作,我必须处理随机数。 问题是,对于 0 到 4 之间的数字,我经常得到相同的数字,如下所示:
3 2 0 2 4 0 1 4 2 1 4 2 1 3 2 3 2 2 2 1 0 3 2 2 2 0 0 4 3 0 3 4 4 0 3 3 3 3 2 4 4 4 0
当然只有五种可能性,但看看最后,我连续获得了 4 个数字 3,这大约是 1/625 的机会,我们不谈论我在 3 次中获得相同数字的次数一行。
我的代码如下所示:
when async ready :
random.seed(time.time())
async event:
index = random.randint(0,4)
async.send(someList[index])
它也是一个不和谐的机器人,所以代码连续运行,所以如果重要的话,种子只有一次 donc
【问题讨论】:
-
如果需要我可以发布真实代码
-
代码越多越好。另外,真的有必要打电话给
random.seed吗? -
好吧,我每次都需要一个不同的号码,即使在重新启动程序后,因为是的,当我需要更新或修补东西时它会停止
-
默认情况下 Python 的随机数生成器使用当前系统时间。所以对
random.seed的调用是多余的。请发布完整代码。 -
engineering.atspotify.com/2014/02/28/how-to-shuffle-songs 可能是相关的,随机序列的重复次数比人类预期的要多
标签: python asynchronous random