7. Lektion: Wiederholungen
Wiederholungen
In Programmen werden immer wieder Abschnitte des Programms mehrfach ausgeführt. Damit der Programmcode nur einmal geschrieben werden muss gibt es Schleifen die den Block mehrmals ausführen.
In Micro/Python gibt 2 solcher Strukturen:
for x in iterable:
- For in Python unterscheidet sich von anderen For-Schleifen
- ist dafür gedacht Werte aus einer Datenstruktur (Liste) zu bearbeiten.
 - die Funktion einer C-typischen for-Schleife kann mit range() erreicht werden.
 
 - Die Anzahl der Schleifen Durchläufe ist vorherbestimmt.
 - pass ist erforderlich wenn kein Programmcode darunter steht.
 
range()
- Python Funktion die ganze Zahlen liefert.
 - Anzahl: range(anzahl) - Start = 0
 - Bereich: range(start, stop+1)
 - Abstand: range(start, stop+1, abstand)
 - Micropyton erzeugt keine Liste mit range() sondern ersetzt die Liste durch die range-Funktion.
- Das spart Speicherplatz.
 - Verhält sich wie eine Liste.
 
 
Übung:
- Gebt verschiedene Zahlenbereiche mit range() aus.
- dazu ist eine for-Schleife mit print() erforderlich.
 
 - Erstellt eine Liste mit den geraden Zahlen (range()) von 2 bis 20.
- Gebt mit einer for-Schleife die Quadrate dieser Zahlen aus.
 
 
while True:
- while ist das zweite Schleifenkonstrukt von Python.
 - Bei der while-Schleife ist nicht vorbestimmt wie oft sie durchlaufen wird.
 - Die Entscheidung wird vor jedem Durchlauf getroffen.
 - Die while-Schleife ist Kopfgesteuert.
- Sie wird mindestens 0 mal durchlaufen.
 
 - pass ist erforderlich wenn kein Programmcode darunter steht.
 
Übung:
- Entwerfe eine while-Schleife, die 10x "Hallo" ausgibt.
 - Entwerfe eine while-Schleife, der in der Variablen runden die Anzahl der Durchläufe vorgegeben wird.
 - Entwerfe eine while-Schleife die alle Quadratzahlen <100 ausgibt.
 
Übung:
Nun wollen das bisher gelernt in 2 Programmen einsetzen.
Tannenbaum
Es soll ein Programm geschrieben werden, das einen Tannenbaum aus "*" ausgibt.
Dazu müssen wir einen Text zentrieren:
.center()
x = 'Hallo'.center(20)
print(x)
Schlechte Lösung: Tannenbaum_1.py
Gute Lösung: Tannenbaum_2.py
Zahlenraten
Es soll eine Zahl zwischen 1 und 10 in 4 Versuchen erraten werden.
Hierfür brauchen wir Zufallszahlen:
urandom()
import urandom
x = urandom.randint(1,10)
print(x)
Zahlenraten.py