我想在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