因此,我在课堂上被要求使用特定的随机种子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)
。