In deze opdracht gaan we een eenvoudige simulatie van Electronic Funds Transfers (EFT) bouwen tussen bankrekeningen, waarin we een daglimiet verwerken. Dit betekent dat per dag slechts een bepaald maximaal bedrag kan worden opgenomen of overgeboekt vanaf een rekening.

Deel 2: Banktransacties (5 punten)

Lijst van Accounts (1 punt)

Definieer een variabele lijst accounts_list waarin je BankAccount-objecten opslaat. Voeg aan deze lijst drie accounts toe, bijvoorbeeld:

Functies (3 punten)

  1. Schrijf een functie transfer_funds (2 punten):
    • Parameters:
      • source_account (str): rekeningnummer van de bron.
      • target_account (str): rekeningnummer van de ontvanger.
      • amount (float): het over te boeken bedrag.
      • accounts_list (list): de lijst met alle BankAccount-objecten.
    • Werking:
      • Zoek in de lijst naar beide Accounts. Als één van de twee niet wordt gevonden, geef je een foutmelding terug.
      • Controleer of amount > 0. Als dat niet zo is, geef je een melding terug (bijvoorbeeld “Bedrag moet groter zijn dan 0.”).
      • Probeer het bedrag af te boeken van de bronrekening. Als de withdraw-operatie niet lukt vanwege onvoldoende saldo, geef dan een melding terug (bijvoorbeeld “Onvoldoende saldo.”).
      • Lukt de withdraw, dan voer je de deposit uit. Retourneer een stringboodschap die aangeeft dat de overboeking gelukt is, bijvoorbeeld: “Overboeking geslaagd.”
  2. Schrijf een functie new_day (1 punt):
    • Parameters:
      • accounts_list (list): de lijst met alle BankAccount-objecten.
    • Werking:
      • De functie zal voor alle BankAccount objecten in de lijst een nieuwe dag starten.

Testen (1 punt)

Test je twee functies aan de hand van volgende scenario’s: