Programmeren en Wetenschappelijk Rekenen in Python
Wi1205AE I.A.M. Goddijn, Faculteit EWI
24 april 2014
Bijeenkomst 2
Onderwerpen lijsten, loops:
for-loop (met o.a. de range functie), while-loop.
I.A.M. Goddijn Faculteit EWI
24 april 2014 1
Lijsten
Door de opdracht:
lst = [ 4, 1, 6, 8 ]
wordt aan de variabele lst een lijst bestaand uit 4 elementen toegekend. Merk op:
een lijst begint en eindigt met een rechte haak, de elementen van de lijst worden gescheiden door een komma.
I.A.M. Goddijn Faculteit EWI
24 april 2014 2
Door de opdracht:
lst = [ ]
wordt aan de variabele lst een lege lijst toegekend.
vb2-1a.py: elementen, deellijsten en de functies len, max, min
vb2-1b.py: de methode append en +, Belangrijk!
vb2-1c.py: de methoden remove en index
vb2-1d.py: een lijst kan op zichzelf ook weer uit lijsten bestaan
I.A.M. Goddijn Faculteit EWI
24 april 2014 3
Bij vb2-1b.py
→ 1 lst = [4, 6, 1, 8, −4]
2 lstcopy = lst 3 lst.append(0) 4 lst = lst + [ 4 , 3 ]
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd Wil je hier mee oefenen?
Zie: http: //pythontutor.com
I.A.M. Goddijn Faculteit EWI
24 april 2014 4
Bij vb2-1b.py
→ 1 lst = [4, 6, 1, 8, −4]
→ 2 lstcopy = lst 3 lst.append(0) 4 lst = lst + [ 4 , 3 ]
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd Wil je hier mee oefenen?
Zie: http: //pythontutor.com
I.A.M. Goddijn Faculteit EWI
24 april 2014 4
Bij vb2-1b.py
1 lst = [4, 6, 1, 8, −4]
→ 2 lstcopy = lst
→ 3 lst.append(0) 4 lst = lst + [ 4 , 3 ]
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd Wil je hier mee oefenen?
Zie: http: //pythontutor.com
I.A.M. Goddijn Faculteit EWI
24 april 2014 4
Bij vb2-1b.py
1 lst = [4, 6, 1, 8, −4]
2 lstcopy = lst
→ 3 lst.append(0)
→ 4 lst = lst + [ 4 , 3 ]
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd Wil je hier mee oefenen?
Zie: http: //pythontutor.com
I.A.M. Goddijn Faculteit EWI
24 april 2014 4
Bij vb2-1b.py
1 lst = [4, 6, 1, 8, −4]
2 lstcopy = lst 3 lst.append(0)
→ 4 lst = lst + [ 4 , 3 ]
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd Wil je hier mee oefenen?
Zie: http: //pythontutor.com
I.A.M. Goddijn Faculteit EWI
24 april 2014 4
Een speciale lijst, range
Door de opdracht:
x = range(n) (n ∈ Z) wordt aan de variabele x de lijst
[0, 1, . . . , n − 1 ]
toegekend als n > 0 en anders de lege lijst.
De lijst x bevat dus n opeenvolgende gehele getallen, te beginnen bij 0.
I.A.M. Goddijn Faculteit EWI
24 april 2014 5
Door de opdracht:
x = range(m, n) (m, n ∈ Z) wordt aan de variabele x de lijst
[m, m + 1, . . . , n − 1 ]
toegekend als n > m anders de lege lijst.
De lijst x bevat dus n − m opeenvolgende gehele getallen, te beginnen bij m.
I.A.M. Goddijn Faculteit EWI
24 april 2014 6
Door de opdracht:
x = range(m, n, k) (k, m, n ∈ Z) wordt aan de variabele x de lijst
[m, m + k, m + 2 · k, . . . , m + l · k ] toegekend als |n − m| > |l · k|
en anders de lege lijst.
De syntax van de opdracht range is dus:
range(start, stop, stap)
Alleen gehele getallen!
I.A.M. Goddijn Faculteit EWI
24 april 2014 7
Door de opdracht:
x = range(m, n, k) (k, m, n ∈ Z) wordt aan de variabele x de lijst
[m, m + k, m + 2 · k, . . . , m + l · k ] toegekend als |n − m| > |l · k|
en anders de lege lijst.
De syntax van de opdracht range is dus:
range(start, stop, stap)
Alleen gehele getallen!
I.A.M. Goddijn Faculteit EWI
24 april 2014 7
vb2-2a.py: range op verschillende manieren vb2-2b.py: range en sum
I.A.M. Goddijn Faculteit EWI
24 april 2014 8
for-loop
Laat lst een lijst zijn.
Vorm van een for-loop:
for i in lst :
ingesprongen code ...
vervolg programma (niet ingesprongen)
Voor alle elementen van de lijst lst wordt de ingesprongen code uitgevoerd.
I.A.M. Goddijn Faculteit EWI
24 april 2014 9
vb2-3a.py: for-loop, sum, de som en het product van n positieve natuurlijke getallen
vb2-3b.py: for-loop, de berekening van
n
X
k=0
1 k!
(zie:[3, §11.10, vb. 1, 2])
vb2-3c: for-loop, schijnbaar gelijke opdrachten
I.A.M. Goddijn Faculteit EWI
24 april 2014 10
Bij de for-loop en range
→ 1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
→ 1 n = 5
→ 2 lst1 = range(0, n + 1) 3 lst2 = [ ]
4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
→ 2 lst1 = range(0, n + 1)
→ 3 lst2 = [ ] 4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1)
→ 3 lst2 = [ ]
→ 4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1)
→ 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
Bij de for-loop en range
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 11
xrange
In een for-loop kan in plaats van range, xrange worden gebruikt dus is de syntax bijvoorbeeld:
for i in xrange(0, n + 1):
Verschillen:
Er wordt alleen n + 1 opgeslagen en in elke stap wordt getest of i < n + 1.
Blijkbaar is deze for-loop eigenlijk een while-loop.
Is n ‘groot’ dan is het gebruik van xrange sneller.
Er zijn minder snel geheugenproblemen.
I.A.M. Goddijn Faculteit EWI
24 april 2014 12
Bij de for-loop en xrange
→ 1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
→ 1 n = 5
→ 2 lst1 = range(0, n + 1) 3 lst2 = [ ]
4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
→ 2 lst1 = range(0, n + 1)
→ 3 lst2 = [ ] 4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1)
→ 3 lst2 = [ ]
→ 4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1)
→ 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
→ 5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
Bij de for-loop en xrange
1 n = 5
2 lst1 = range(0, n + 1) 3 lst2 = [ ]
→ 4 for i in list1 :
5 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 13
while-loop
Vorm van een while-loop:
while voorwaarde : ingesprongen code ...
vervolg programma (niet ingesprongen)
Zolang aan de voorwaarde is voldaan wordt de ingesprongen code uitgevoerd.
I.A.M. Goddijn Faculteit EWI
24 april 2014 14
vb2-4a.py: while-loop, sum, de som en het product van n positieve natuurlijke getallen
vb2-4b.py: while-loop, de berekening van
n
X
k=0
1 k!
waarbij n zo groot is dat de gewenste nauwkeurigheid wordt bereikt (zie:[3, §11.10, vb. 1, 2])
vb-4c.py: while-loop, if-statement, de rij van fibonacci
I.A.M. Goddijn Faculteit EWI
24 april 2014 15
Bij de while-loop
→ 1 n = 5
2 i = 0 3 lst2 = [2 ∗ i ] 4 while i < n : 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
→ 1 n = 5
→ 2 i = 0
3 lst2 = [2 ∗ i ] 4 while i < n : 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5
→ 2 i = 0
→ 3 lst2 = [2 ∗ i ] 4 while i < n : 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0
→ 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n :
→ 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ] 4 while i < n :
→ 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n :
→ 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ] 4 while i < n :
→ 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n :
→ 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ] 4 while i < n :
→ 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n :
→ 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ] 4 while i < n :
→ 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n :
→ 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ] 4 while i < n :
→ 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
→ 6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Bij de while-loop
1 n = 5 2 i = 0 3 lst2 = [2 ∗ i ]
→ 4 while i < n : 5 i = i + 1
6 list2.append(2 ∗ i )
Frames Objects
→ Opdracht die net is uitgevoerd
→ Opdracht die in de volgende stap wordt uitgevoerd
I.A.M. Goddijn Faculteit EWI
24 april 2014 16
Een oneindige loop
Bij het gebruiken van een while-loop loop je het risico in een
‘oneindige loop’ terecht te komen. Dit gebeurt wanneer het nooit gebeurt dat er niet voldaan wordt aan de voorwaarde achter while.
Een while-loop kan worden afgebroken door de toetsen:
‘Ctrl-C’ op je toetsenbord te gebruiken. Je krijgt de mededeling ‘KeyboardInterrupt’.
I.A.M. Goddijn Faculteit EWI
24 april 2014 17
Tips and Tricks
Let op het inspringen!
Controleer accolades, rechte haken, aanhalingstekens etc.
Gebruik \ om een opdracht te laten doorlopen op de volgende regel.
Een lege regel verhoogt de leesbaarheid.
Voeg zinnig commentaar toe.
I.A.M. Goddijn Faculteit EWI
24 april 2014 19
Jacco Hoekstra:
Programming and Scientific Computing in Python (Version 3.10),
Artikelnummer: 0691770043.
David C. Lay:
Linear Algebra and Its Applications (fourth edition), Pearson (2013),
ISBN-13: 978-1-292-02055-6.
James Stewart:
Calculus, Early Transcedentals (seventh edition), Cengage Learning (2012),
ISBN-13: 978-0-538-49887-6.
I.A.M. Goddijn Faculteit EWI
24 april 2014 19