Entscheiden und wiederholen
Wiederholen
Etwa 15 Minuten. Lass dir ruhig länger Zeit.
Danach kannst du
- Eine Schleife schreiben, die mehrmals dasselbe tut
- Verstehen, warum man dafür nicht zehnmal dieselbe Zeile schreibt
Wenn etwas mehrmals passieren soll, schreibst du es nicht mehrmals hin.
for zahl in range(5):
print(zahl)
Ausgabe: 0 1 2 3 4 — fünf Zeilen. Der eingerückte Block läuft einmal pro
Durchlauf, und zahl enthält jedes Mal den nächsten Wert.
Zählen ab null
range(5) liefert 0, 1, 2, 3, 4. Fünf Werte, aber die 5 ist nicht dabei.
Das ist gewöhnungsbedürftig und in fast allen Programmiersprachen so. Wenn du 1 bis 5 willst:
for zahl in range(1, 6):
Erste Zahl dabei, zweite nicht. Merksatz: Die zweite Zahl ist die Abbruchgrenze, nicht der letzte Wert.
Etwas mitzählen
Der häufigste Fall: In der Schleife etwas aufsammeln.
summe = 0
for zahl in range(1, 6):
summe = summe + zahl
print(summe)
Ausgabe: 15. Wichtig ist, dass summe = 0 vor der Schleife steht.
Stünde es drin, würde die Summe bei jedem Durchlauf zurückgesetzt und am Ende
käme 5 heraus.
Python
for zahl in range(1, 6):
print(zahl)
C#
for (int zahl = 1; zahl < 6; zahl++)
{
Console.WriteLine(zahl);
}
C# schreibt die drei Teile ausdrücklich hin: womit anfangen, wie lange
weitermachen, was nach jedem Durchlauf tun. Python versteckt das in range.
Dieselbe Schleife, andere Schreibweise.
Die Endlosschleife
while True:
print("hallo")
Das hört nie auf. Passiert jedem, und hier ist es ungefährlich: Nach zehn Sekunden bricht die Seite ab und sagt dir Bescheid. Probier es ruhig einmal absichtlich aus, dann kennst du die Meldung.
Deine Aufgabe
Gib die Zahlen 1 bis 10 aus, jede in einer eigenen Zeile, und danach in einer letzten Zeile ihre Summe (das ist 55).
Also elf Zeilen insgesamt. Die 55 soll ausgerechnet werden, nicht hingeschrieben.