2017-06-18 8 views
0

私は、ブラックジャックプログラムを利用して、賭けのオプションを追加する必要があるプログラミングクラスの割り当てに取り組んでいます。 http://courses.ischool.berkeley.edu/i90/f11/resources/chapter09/blackjack.pyブラックジャックゲームでのPython属性エラー

これは問題なく動作します:

これは、元のプログラムです。私は賭け

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 

(フォーマットについては申し訳ありませんが、私はこの時に新たなんだ。現実にそれはちょうど、リンクのようにインデントされます)

を収集するためのいくつかのコードを追加したクラスBJ_Gameで

私が作った

唯一の他の変更は、勝者が勝った賭けを印刷するには下の2行を追加しました:

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' 

私がこの変更を行った理由を理解していません。ヘルプは非常に高く評価されます。

答えて

0

はこの行です:あなたのプログラムでは、まだ

def __additional_cards(self, player): 

?そうでなければ、あなたはあなたの答えを持っています。はいの場合は、この行のすぐ上のコードを詳しく見てください。

関連する問題