0
我在udemy.com和我的OOP類上學了幾周的python,導師要求我們創建一個Blackjack遊戲。我的第一個任務是爲甲板創建一個類。和我做了這一點:python中的二十一點遊戲
class Deck(object):
totalCards = 0
deck = [
["A", totalCards],
["2", totalCards],
["3", totalCards],
["4", totalCards],
["5", totalCards],
["6", totalCards],
["7", totalCards],
["8", totalCards],
["9", totalCards],
["10", totalCards],
["J", totalCards],
["Q", totalCards],
["K", totalCards],
]
def __init__(self, numberOfDecks):
self.numberOfDecks = numberOfDecks
Deck.totalCards = numberOfDecks * 4
def printDeck():
for i in Deck.deck:
print i
newDeck = Deck(6)
newDeck.printDeck()
的事情是什麼?當我嘗試打印在甲板上,我得到和錯誤,告訴我,該方法printDeck沒有參數,我路過一人。我不知道爲什麼..任何人都可以幫助我?
- 的Python 2.7.11
- 我使用的是Windows 10
- CMD
- 崇高的文本3
它將對象隱式傳遞給方法,將方法的聲明更改爲'def printDeck(self):'。 – Maroun
另外,可能你應該在'self.totalCards = numberOfDecks * 4'和'for self indeck:'而不是'Deck.totalCards = numberOfDecks * 4'和'爲Deck.deck:'中做'self.totalCards = numberOfDecks * 4'。在第一種情況下,您正在修改實例的deck/totalCards。第二個修改班級的deck/totalCards。這會影響你,如果你想有多個Deck實例 –
相關問題:「[爲什麼你需要顯式地將」self「參數引入Python方法?](https://stackoverflow.com/questions/68282/why-做任您需要,明確具備的,在自一個參數 - -A-python的方法)」。 –