【发布时间】:2015-10-18 09:55:03
【问题描述】:
我正在尝试通过创建一个可以通过 cli 玩的 Blackjack 游戏来学习 OOP 的原理。
我已经成功地设置了一副由 52 张牌组成的完整套牌,每套牌的数量都合适,但我无法获得玩家的手牌。
我已经写过的代码:
import random
class Deck:
def makeCards(self):
self.suits = ['Clubs', 'Diamonds', 'Spades', 'Hearts']
self.rank = ['2','3','4','5','6','7','8','9','10','J','Q','K','A']
for suit in self.suits:
for rank in self.rank:
self.fulldeck = (suit, rank)
self.fulldeck = list(self.fulldeck)
return(self.fulldeck)
def playerHand(self):
self.cardone = random.choice(self.fulldeck)
self.cardtwo = random.choice(self.fulldeck)
print(self.cardone, self.cardtwo)
Deck().makeCards()
Deck().playerHand()
我希望这会从self.fulldeck 中定义的卡片中输出 2 张随机卡片,但它却给了我
AttributeError: 'Deck' object has no attribute 'fulldeck'
我不明白为什么,因为我在 makeCards 函数中定义了 self.fulldeck。
【问题讨论】: