python中的21点游戏
我在udemy.com上学习python已经有几个星期了,在我的OOP课程中,导师让我们创建一个21点游戏。我的第一个任务是为甲板创建一个类。我做了这个:python中的21点游戏,python,oop,Python,Oop,我在udemy.com上学习python已经有几个星期了,在我的OOP课程中,导师让我们创建一个21点游戏。我的第一个任务是为甲板创建一个类。我做了这个: class Deck(object): totalCards = 0 deck = [ ["A", totalCards], ["2", totalCards], ["3", totalCards], ["4", totalCards], ["5"
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
- 我用的是Windows10
- 指令
- 崇高的文本3
self
-也就是说,对象始终作为第一个参数传递给类方法,但您的方法定义不接受任何参数,甚至不接受self
-请参见详细说明。self
-也就是说,对象始终作为第一个参数传递给类方法,但是您的方法定义不带任何参数,甚至不带self
-请参阅详细说明。如果要隐式地将对象传递给方法,请将方法的声明更改为def printDeck(self):
,也许你应该在self.deck中为i做self.totalCards=numberOfDecks*4
和,而不是在deck中为i做deck.totalCards=numberOfDecks*4
和。deck:
。在第一种情况下,您正在修改实例的牌组/totalCards。第二个修改类的牌组/总牌。如果希望有多组实例相关问题:“”,这将影响您。如果要隐式地将对象传递给该方法,请将该方法的声明更改为def printDeck(self):
,也许你应该在self.deck中为i做self.totalCards=numberOfDecks*4
和,而不是在deck中为i做deck.totalCards=numberOfDecks*4
和。deck:
。在第一种情况下,您正在修改实例的牌组/totalCards。第二个修改类的牌组/总牌。如果您想拥有多组实例,这将影响您相关的问题:“”。