I have the following classes for a game of black jack.
class Player:
def __init__(self, player, balance=0):
self.player = player
self.balance = balance
def __str__(self):
return f'Player: {self.player}\n Balance: ${self.balance}'
def bet(self):
print(self.balance)
class Dealer(Player):
def __init__(self):
pass
I am trying to call the bet method from Player class through the Dealer class but am getting the following error when I print(self.balance).
AttributeError: 'Dealer' object has no attribute 'balance'
I changed this to print(Player.balance) but this does not work either. Can someone please point me in the right direction?
name = input("Enter your full name: ")
balance =int(input("Enter the amount you would like to place on the table? "))
my_player = Player(name, balance)
my_dealer = Dealer()
my_dealer.bet()
__init__ofDealeroverridden the__init__ofPlayerclassDealer's__init__()doesn't initialiseself.balance, that attribute doesn't exist. You need to either not provide a__init__()method onDealer(soPlayer's init is used, i.e. you have to provide player and option balance), orDealer's __init__() needs to have parameters which call super().__init__() with those params.