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