2017-06-18 20 views
0

Ich arbeite am am Auftrag für meine Programmierklasse, in der wir ein Blackjack-Programm nehmen und die Option zum Wetten hinzufügen müssen.Python Attribut Fehler in Blackjack Spiel

Dies ist das ursprüngliche Programm: http://courses.ischool.berkeley.edu/i90/f11/resources/chapter09/blackjack.py

Dies ohne Probleme funktioniert.

In der Klasse BJ_Game ich einige Code hinzugefügt haben Wetten

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 

zu sammeln (Sorry über die Formatierung, ich bin neu in diesem. Im wirklichen Leben ist es wie in der Verbindung eingekerbt)

die einzige andere Änderung, die ich machte, war die unteren zwei Zeilen hinzufügen, um die Wette zu drucken, die der Gewinner gewonnen hat:

def win(self): 
    print(self.name, "wins.") 
    # awarding bets 
    print("You win $", self.total_bets) 

Als ich das laufen, ich erhalte eine Fehlermeldung:

AttributeError: 'BJ_Game' object has no attribute '_BJ_Game__additional_cards' 

Ich verstehe nicht, wie die Änderungen, die ich gemacht habe, dieses Problem verursacht haben. Hilfe wird sehr geschätzt.

Antwort

0

Ist diese Zeile:

def __additional_cards(self, player): 

noch in Ihrem Programm? Wenn nicht, hast du deine Antwort. Wenn ja, schauen Sie sich den Code direkt über dieser Zeile an.