Title
Replit link:https://replit.com/@f488/boilerplate-budget-app#budget.py
class Category:
def init(self, cat):
self.cat = cat
self.ledger =
self.balance = 0
def deposit(self, amount=0.0, description=''):
d = {'amount': amount, 'description': description}
self.ledger.append(d)
self.balance += amount
return self.ledger
def withdraw(self, amount=0.0, description=''):
amount = -amount
# dumb test case doesn't want return self.ledge for input without description
if self.balance + amount >= 0 and description == '':
self.balance += amount
d = {'amount': amount, 'description': description}
self.ledger.append(d)
return True
if self.balance + amount >= 0:
self.balance += amount
d = {'amount': amount, 'description': description}
self.ledger.append(d)
return self.ledger
return True
else:
return False
def get_balance(self):
return self.balance
def transfer(self, transfer_amount, transfer_cat):
if self.balance - transfer_amount < 0:
return False
else:
**# here lies the problem**
self.withdraw(transfer_amount, f'Transfer to {transfer_cat}')
transfer_cat.deposit(transfer_amount, f'Fransfer from {self.cat}')
def check_funds(self, amount):
if amount > self.balance:
return False
else:
return True
Challenge: Budget App
Link to the challenge: