简体   繁体   中英

Python Attribute Error in Blackjack game

I am working on am assignment for my programming class in which we have to take a blackjack program and add the option to bet.

This is the original program: http://courses.ischool.berkeley.edu/i90/f11/resources/chapter09/blackjack.py

This works with no problems.

In the class BJ_Game I have added some code to collect bets

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

(Sorry about the formatting, I'm new at this. In real life it's indented just like in the link)

The only other change I made was to add the bottom two lines to print the bets that the winner has won:

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

When I run this, I get an error:

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

I am not understanding how the changes I made caused this issue. Help is greatly appreciated.

Is this line:

def __additional_cards(self, player):

still in your program? If not, you have your answer. If yes, have a closer look at the code directly above this line.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM