fundamentals/oop/code/procedural_transfer.py

23 lines
653 B
Python
Raw Permalink Normal View History

2022-08-31 15:48:26 +01:00
accounts = []
def transfer(source: int, destination: int, amount: int) -> None:
source_account = get_account(source)
update_account(source_account, -amount)
destination_account = get_account(destination)
update_account(destination_account, amount)
def get_account(number: int) -> dict:
return list(filter(lambda account: account['number'] == number, accounts))[0]
def update_account(account: int, delta: int) -> None:
account['balance'] += delta
if __name__ == '__main__':
accounts.append({'number': 1, 'balance': 100})
accounts.append({'number': 2, 'balance': 200})
transfer(1, 2, 50)
print(accounts)