二十一点游戏中的Python属性错误
问题描述:
我正在为我的编程课程进行作业,我们必须参加二十一点程序并添加下注选项。二十一点游戏中的Python属性错误
这是原来的计划: http://courses.ischool.berkeley.edu/i90/f11/resources/chapter09/blackjack.py
这工作没有任何问题。
在BJ_Game我增加了一些代码,以收集赌注
class BJ_Game(object):
def __init__(self, names):
self.players = []
for name in names:
player = BJ_Player(name)
self.players.append(player)
self.dealer = BJ_Dealer("Dealer")
self.deck = BJ_Deck()
self.deck.populate()
self.deck.shuffle()
# betting
def placing_bets (self, names):
self.total_bets=10
for name in names:
yes_no=input("The dealer bets 10.", name, "would you like to bet on this round? (y/n)")
if yes_no=="y":
player_bet=input(int("How much would you like to bet?:"))
else:
break
self.total_bets=player_bet+self.total_bets
return self.total_bets
类(很抱歉的格式,我这个是新的。在现实生活中它缩进就像链接)
我所做的唯一的其他改变是添加了底部两行打印赢家赢得了赌注:
def win(self):
print(self.name, "wins.")
# awarding bets
print("You win $", self.total_bets)
当我运行它,我得到一个错误:
AttributeError: 'BJ_Game' object has no attribute '_BJ_Game__additional_cards'
我不理解我所做的更改是如何引起此问题的。非常感谢帮助。
答
这是行:
def __additional_cards(self, player):
仍然在你的计划?如果没有,你有你的答案。如果是的话,仔细看看这一行上面的代码。