我是python的新手,正在尝试使用self重构代码。供参考,我正在尝试通过python制作一个简单的21点游戏。不管是谁,我都无法重构代码以将其分配给玩家,这样我就可以将其用于其他功能,例如发牌,命中和翻倍。
我最初使用此功能,但想对其进行更多重构以实现我的目标。
class FrenchDeck:
ranks = [str(n) for n in range(2,11)] + list('JQKA')
suits = 'spades diamonds clubs hearts'.split()
def __init__(self):
self._cards = [Card(rank,suit) for suit in self.suits for rank in self.ranks]
def __len__(self):
return len(self._cards)
def __getitem__(self,position):
return self._cards[position]
def deal(self,n):
return
for n in range(1,1+n):
self.append(choice(deck))
...
def deal(n):
for n in range(1,1+n):
playerHand.append(choice(deck))
dealerHand.append(choice(deck))
def deal(n):
for n in range(1,1+n):
self.append(choice(deck))
我包括了所有代码,并尝试将函数放入类中,但这没有用。我不断收到一个错误消息,指出在尝试这样调用时未定义事物:
playerHand = deal(2)
这是我遇到的错误:
playerHand = deal(2)追溯(最近一次通话最近):playerHand = Deal(2)的第1行,在交易self.append(choice(deck))NameError中的文件“”,第4行:名称“ self”未定义
也;如果有人对如何更好地使用python有很好的提示,将不胜感激! :)