Untitled
unknown
python
2 years ago
2.1 kB
29
Indexable
class Bank:
def __init__(self):
self.accounts = []
def create_savings_account(self, account_number, account_holder, initial_balance=0, interest_rate=1.5):
account = SavingsAccount(account_number, account_holder, initial_balance, interest_rate)
self.accounts.append(account)
print(f"Savings account {account_number} for {account_holder} created with balance ${initial_balance} and interest rate {interest_rate}%.")
def create_checking_account(self, account_number, account_holder, initial_balance=0, overdraft_limit=500):
account = CheckingAccount(account_number, account_holder, initial_balance, overdraft_limit)
self.accounts.append(account)
print(f"Checking account {account_number} for {account_holder} created with balance ${initial_balance} and overdraft limit ${overdraft_limit}.")
def find_account(self, account_number):
for account in self.accounts:
if account.account_number == account_number:
return account
print("Account not found.")
return None
def delete_account(self, account_number):
account = self.find_account(account_number)
if account:
self.accounts.remove(account)
print(f"Account {account_number} deleted.")
def list_accounts(self):
if self.accounts:
print("Bank Accounts:")
for account in self.accounts:
print(f" - {account.account_holder} ({account.account_number}): ${account.balance}")
else:
print("No accounts in the bank.")
# Example Usage
bank = Bank()
bank.create_savings_account("789012", "Alice Johnson", 1000, interest_rate=2)
bank.create_checking_account("345678", "Bob Brown", 500, overdraft_limit=1000)
bank.list_accounts()
alice_account = bank.find_account("789012")
bob_account = bank.find_account("345678")
alice_account.apply_interest()
bob_account.withdraw(700)
bank.list_accounts()
alice_account.show_transaction_history()
bob_account.show_transaction_history()
Editor is loading...
Leave a Comment