二十一点游戏中的Python属性错误

二十一点游戏中的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): 

仍然在你的计划?如果没有,你有你的答案。如果是的话,仔细看看这一行上面的代码。