为什么Python随机生成相同的数字?

2023-12-07

我为我的作业写了这段代码:

import random
score=[]
random.seed(1)
for i in range(0,100):
    score.append(random.randrange(0,21))

for k in range(20, -1, -1):
    print("Who get %2d score in test? : "%(k), end='')
    while score.count(k)!=0:
        j = score.index(k)
        print("%3s" % (j), end="  ")
        score.remove(k)
        score.insert(j,25)
    print("\n")

我在电脑上运行了很多次,结果都是一样的。讽刺的是,在其他计算机上,结果与我的计算机不同,而且每次执行时都会重复。

我的代码有什么问题吗?


random.seed(n)每次运行程序时,都会从同一点启动随机数生成器。

也就是说,您得到相同的随机数序列。这就像拍摄掷骰子的视频,然后每次播放它 - 数字是随机的(准确地说是伪随机),但您正在播放序列。

这对于测试很有用,例如:您可以使用相同的随机数运行程序的不同版本,因此您可以确定结果的差异仅是由于程序造成的,而不是偶然的。

取出 random.seed ,您将得到一个从随机位置开始的序列。(在大多数计算机上,如果您不指定种子,则程序启动的时钟时间将隐式用作种子。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么Python随机生成相同的数字? 的相关文章

随机推荐