7. Lektion: Wiederholungen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche

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/Phyton gibt 2 solcher Strukturen:

for x in iterable:

  • Die For-Schleife in Python unterscheidet sich von anderen For-Schleifen
    • Sie ist dafür gedacht Werte aus einer Datenstruktur (z.B. 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 im Schleifenkörper steht.

range()

  • Python Funktion die ganze Zahlen liefert.
  • Anzahl: range(anzahl) - Start = 0
  • Bereich: range(start, stop+1)
  • Abstand: range(start, stop+1, abstand)
  • Micropython 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.
>>> range(10)
range(0, 10)
>>> 
    • 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.
  • Gebt eine Liste aller UTF8-Zeichen aus.

while True:

  • while ist das zweite Schleifenkonstrukt von Phyton.
  • 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

Sätze bilden

Stelle Listen mit Worten (Eigenschaften, Tätigkeiten, Namen u.s.w.)zusammen.
Schreibe ein Programm, das daraus per Zufall generierte Sätze bildet.

Navigation

Zurück zu Micropython Kurs 2023 - Teil 1
Zurück zur "Micropython Kurs 2023" Startseite
Zurück zur Programmieren Startseite
Zurück zur Wiki Startseite