Nyckelord: While-loopen, For-loopen

Utskrifter i loopar
Nedan visas ett program som skriver ut värden inuti olika loopar. Vad blir utskriften?
# A
n = 0
done = False
while (not done) :
n = n + 1
done = n >= 10
print(n)
# B
k = 2078670162
while (k > 0) :
print(k)
k = int(k / 10)
# C
i = 0
while (i < 10) :
j = 0
while (j < i) :
print(j)
j += 1
print()
i += 2
Ledtråd
Fundera över hur variablerna förändras varje iteration av loopen. Exempelvis:
j += 1 # Ökar med 1
i += 2 # Ökar med 2
Svar
A: Förklaring
1
2
3
4
5
6
7
8
9
10
While-loopen körs tills dess att done sätts till True. Varje iteration av loopen ökar värdet på n med 1.
B: Förklaring
2078670162
207867016
20786701
2078670
207867
20786
2078
207
20
2
Programmet skriver ut k och använder sedan int(k / 10) för att kapa decimaldelen mot noll. En variabel kapar inte decimaler automatiskt. För just positiva heltal kan k // 10 undvika omvägen via ett flyttal.
C: Förklaring
0
1
0
1
2
3
0
1
2
3
4
5
0
1
2
3
4
5
6
7
Första iterationen skriver bara en tom rad eftersom i är 0. Därefter ökar i med 2. Den inre loopen kör så länge j < i och skriver j från 0 till i − 1.