如何同时获得多个不同的随机数?

问题描述 投票:0回答:1
我想做一个有两个球的乒乓球游戏,所以我需要两个随机数作为每个球的初始方向。据我所知,python 使用小时作为种子,因此只要同时询问两个数字(仅稍后几毫秒,根本不会影响),两个随机数将是相同的。如何同时获得两个不同的随机数?

我试图获得不同的随机数,但两个数字是相同的。因此,两个球的方向相同。

python python-3.x pong
1个回答
0
投票
根据您的代码,重复数字的原因可能有多种。该模块不使用小时作为唯一的时间戳,但也使用一些更高的精度,请参见以下示例:

import random a = random.random() b = random.random() print(a, b)
0.5273803990480128 0.16814494622242826

但是,如果一次又一次调用新种子,可以确保产生相同的数字:

import random for i in range(3): random.seed(1) num = random.randint(1, 100) print(num)
18
18
18

特别是对于您的游戏,您应该只调用一次种子(在您想要重现性的情况下)。这篇

post还总结了您问题的答案。

注意:这是我第一次回答问题,非常感谢您的反馈。

© www.soinside.com 2019 - 2024. All rights reserved.