1 Oefeningen 2021-03-15 (Dodona)

1.1 Opgave

Schrijf een class BankRekening met 2 methods: storten, en afhalen.

Je moet de class als volgt kunnen gebruiken:

rekening = BankRekening()
rekening.storten(250)
rekening.afhalen(50)

Hints:

  • vergeet niet de initialisatie functie __init__ toe te voegen

  • gebruik self om een property bedrag aan te maken in __init__

  • zorg dat bij het aanmaken van de rekening er 0 euro op staat

1.2 Opgave

Voeg een method __str__ toe aan class BankRekening.

Je moet de class als volgt kunnen gebruiken:

rekening = BankRekening()
print(rekening) # print "bedrag: 0"
rekening.storten(250)
print(rekening) # print "bedrag: 250"
rekening.afhalen(50)
print(rekening) # print "bedrag: 200"

Hints:

  • voeg de __str__ method toe zodat print(rekening) de gewenste info toont

  • de method __str__ krijgt enkel self als parameter, en geeft een string terug

1.3 Opgave

Pas de __init__ methode van class BankRekening aan zodat je 3 parameters kan megeven: de naam van de eigenaar, de rekeningnummer en het initiele bedrag.

Je moet de class als volgt kunnen gebruiken:

rekening = BankRekening("Jan Jansen", "001457894501", 10000)
print(rekening) # print "Jan Jansen, 001457894501, bedrag: 10000"
rekening.storten(250)
rekening.afhalen(1000)
print(rekening) # print "Jan Jansen, 001457894501, bedrag: 9250"

Hints:

  • in __init__ dien je de parameters op te slaan in properties

  • in __str__ dien je de nodige aanpassingen te maken zodat de juiste uitvoer getoond wordt als je print(rekening) gebruikt

1.4 Opgave

Schrijf een class Combinatieslot.

Je moet de class als volgt kunnen gebruiken:

slot = Combinatieslot(7)
print(slot) # toont 0

Hints:

  • voeg in __init__ een property geheim toe met ingestelde waarde (7)

  • voeg in __init__ een property code toe met waarde 0

  • voeg een method __str__ toe ervoor zorgt dat print(slot) werkt zoals getoond

1.5 Opgave

Voeg een method open toe.

Je moet de class als volgt kunnen gebruiken:

slot = Combinatieslot(7)
slot.open() # toont False

Hint: open() toont False omdat 0 niet gelijk is aan de geheime code 7

1.6 Opgave

Voeg een method roteer toe.

Je moet de class als volgt kunnen gebruiken:

slot = Combinatieslot(7)
print(slot) # toont 0
slot.roteer(3)
print(slot) # toont 3
slot.roteer(5)
print(slot) # toont 8
slot.roteer(4)
print(slot) # toont niet 12 maar 2

Hint: Je kan de modulo operator gebruiken % om ervoor te zorgen dat je na het toevoegen van 4 aan 8 niet 12 hebt maar 2.

1.7 Opgave

Je moet de class als volgt kunnen gebruiken:

slot = Combinatieslot(7)
print(slot) # toont 0
slot.roteer(3)
print(slot) # toont 3
slot.open() # toont False
slot.roteer(4)
print(slot) # toont 7
slot.open() # toont True

1.8 Opgave

Pas je code aan zodat je een lijst van integers kan meegeven in plaats van een integer:

slot = Combinatieslot([9,2,4])
print(slot)  # toont [0, 0, 0]
slot.open()  # toont False

1.9 Opgave

Pas je code aan zodat je een lijst van integers kan meegeven in plaats van een integer:

slot = Combinatieslot([9,2,4])
print(slot)  # toont [0, 0, 0]
slot.roteer(1, 3)
print(slot)  # toont [0, 3, 0]
slot.roteer(1, 2)
print(slot)  # toont [0, 5, 0]
slot.roteer(0, 4)
print(slot)  # toont [4, 5, 0]
slot.open()  # toont True