-
Notifications
You must be signed in to change notification settings - Fork 0
Lussen in Python
Bart Jacobs edited this page Feb 16, 2018
·
1 revision
Op deze pagina oefenen we de programmeertaal Python in. De reden is dat OCaml er een beetje anders uitziet dan de meeste andere programmeertalen op een aantal vlakken:
- Je kan in OCaml lokale variabelen niet zomaar wijzigen.
- In OCaml heb je geen
return
-opdracht waarmee je uit een functie (en uit een lus) kan springen.
Start Python 3 IDLE op. (Tik "python" in het Start-menu van Windows.)
Opdracht:
- In Python IDLE, tik
xs = [30, -5, -7, 9]
in. - Tik dan
i = 0
in. - Tik dan het volgende in:
while i < len(xs): if xs[i] < 0: xs[i] = -xs[i] i = i + 1
- Tik dan
xs
in. - Python antwoordt met
[30, 5, 7, 9]
. De negatieve elementen van de array zijn vervangen door hun negatie.
Opdracht:
- In Python IDLE, tik het volgende in:
def positie_van_grootste(xs): pos_grootste = 0 grootste = xs[0] i = 1 while i < len(xs): if xs[i] > grootste: grootste = xs[i] pos_grootste = i i = i + 1 return pos_grootste
- Tik dan
xs = [3, 40, 2, 30]
in. - Tik dan
positie_van_grootste(xs)
in. - Python antwoordt met
1
.
Opdracht:
- Tik het volgende in:
def allemaal_positief(xs): i = 0 while i < len(xs): if xs[i] <= 0: return False i = i + 1 return True
- Tik dan
allemaal_positief([1, 2, -3, 4])
in. - Python antwoordt met
False
. - Tik dan
allemaal_positief([1, 4, 3])
in. - Python antwoordt met
True
.
Oefening:
- Definieer een niet-recursieve Python-functie
spiegel
die het eerste en het laatste element van een gegeven array, het tweede en het voorlaatste, enz., van plaats verwisselt.
Oefening:
- Definieer een niet-recursieve Python-functie
som
die de som berekent van de elementen van een gegeven array.
Oefening:
- Definieer een niet-recursieve Python-functie
voeg_in
die, gegeven een array en een positie in deze array, het element op de gegeven positie invoegt tussen de elementen op latere posities, waarvan je mag aannemen dat ze gesorteerd zijn. Het element moet zo ingevoegd worden dat achteraf alle elementen vanaf de gegeven positie, inclusief, in de juiste volgorde staan.
Oefening:
- Definieer een niet-recursieve Python-functie
sorteer
die, door invoeging, de array sorteert. Je mag de functievoeg_in
niet gebruiken; je moet de lus om in te voegen rechtstreeks schrijven in functiesorteer
.