1
我做下面的模切輥功能的簡單的錯誤:random.choice()需要兩個參數?
import random
def rollDie():
return random.choice(1,2,3,4,5,6)
print(rollDie())
我知道我需要的順序通過列表或元組,但我更好奇以下錯誤消息。
Traceback (most recent call last):
File "Lecture 5.2 -- stochastic - die roll example.py", line 8, in <module>
print(rollDie())
File "Lecture 5.2 -- stochastic - die roll example.py", line 6, in rollDie
return random.choice(1,2,3,4,5,6)
TypeError: choice() takes 2 positional arguments but 7 were given
消息說「choice()需要2個位置參數,但給出了7個」。
但文檔只顯示一個參數(序列)。 https://docs.python.org/3/library/random.html
第二個參數是什麼(在我的情況下是第七個參數)?這是種子(我沒有這樣指定,是由時鐘初始化)?
謝謝。我需要更多地考慮這一點。我剛剛瞭解了「自我」突出顯示的課程。這是一個概念嗎?也就是說,random.Random是這個類中的一個類和選擇的函數,還是我完全混淆了?或者,如何以及爲什麼會有人使用「自我」論點? – apotheosied
@apotheosied:你沒有混淆,就是這樣。 class Random(...):''''def choice(self,seq):'defined。然後,當你使用Random().selection(some_sequence)'(所以在類的*實例*上)時,Python自動提供'self'參數(通過一個名爲* binding *的進程,參見[descriptor howto]( https://docs.python.org/3/howto/descriptor.html)如果你想深入潛水)。 –
太棒了,謝謝! – apotheosied