|
|
Zeile 44: |
Zeile 44: |
| === Tannenbaum=== | | === Tannenbaum=== |
| Es soll ein Programm geschrieben werden, das einen Tannenbaum aus "*" ausgibt.<br> | | Es soll ein Programm geschrieben werden, das einen Tannenbaum aus "*" ausgibt.<br> |
| + | Dazu müssen wir einen Text zentrieren: |
| + | ==== .center()==== |
| + | x = 'Hallo'.center(20)<br> |
| + | print(x)<br> |
| + | <br> |
| Schlechte Lösung: Tannenbaum_1.py<br> | | Schlechte Lösung: Tannenbaum_1.py<br> |
| Gute Lösung: Tannenbaum_2.py<br> | | Gute Lösung: Tannenbaum_2.py<br> |
Version vom 29. Juli 2023, 19:32 Uhr
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