因此,我在课堂上被要求使用特定的随机种子237。但是我不知道如何正确实现它。例如,这是我的代码。在python 3。
在此示例中,我基本上是抛出m个带有k个边的骰子,并尝试返回m个长度的元组。

import random
rng=random.seed(237)
# create random number generator

def throwDice(m, k):
    x = 0
    L = []
    while x < m :
        die = rng.randrange(1,k+1)
        L.append(die)
        x+=1
    return print(tuple(L))
throwDice(11,5)


但是,命令提示符仍显示错误

die = rng.randrange(1,k+1)
AttributeError: 'NoneType' object has no attribute 'randrange'`


我能得到什么错的解释:(

最佳答案

非常简单:在第二行中,您正在创建一个名为rng的对象,该对象是random.seed(237)的返回值。碰巧random.seed总是返回None。因此,在稍后的代码中,尝试使用rng.randrange时,Python将查找randrange对象的名为rng的属性。但是rng对象是None,它没有randrange属性。

您真正的意思只是random.randrange(1, k+1)而不是rng.randrange(1, k+1)

10-04 15:09