我想在Python中编写一个线性同余生成器,我找到一小段code on Wikipedia,但在理解它时遇到了一些困难。代码如下:Python中的函数
def lcg(modulus, a, c, seed=None):
if seed != None:
lcg.previous = seed
random_number = (lcg.previous * a + c) % modulus
lcg.previous = random_number
return random_number/modulus
lcg.previous = 2222
我的问题是,什么是“lcg.previous
”?我注意到该功能已完成,lcg.previous
的值被更新并存储。它在这里声明为函数lcg()的成员变量,还是实际上为python中的所有函数设置了某种默认类型?
非常感谢!
也许你可以给你提供代码片段的参考。 – Alex
我想你没有复制所有相关的代码,并且lcg.previous在函数定义之后直接设置为一个起始值。 –
对不起,我碰巧上传了我编辑过的版本。感谢您的编辑。 – Xuan