programmierung
und datenbanken

Joern Ploennigs

Schleifen

Midjourney: Loops, ref. Robert Delaunay

Ablauf¶

Schleifen¶

Schleifen sind ein wichtiger Ansatz in der Programmierung, um wiederholende oder inkrementelle Lösungen zu realisieren.

In Python sind verfügbar:

  • for (Entspricht For-Each-Loop)
  • while (Entspricht While-Loop)

Wichtige Eigenschaften:

  • Funktionieren genau wie alle anderen Steueranweisungen durch Einrückungen nach einer einzeiligen Definition
  • Anders als in Funktionen sind Variablen aus Schleifen auch außerhalb der Schleife verfügbar!
  • Die anderen Loop-Varianten sind zwar nicht explizit vorhanden, aber funktionell nachbildbar

Schleifen - FOR-Loop¶

Der for-Loop wiederholt ein Block an Statements für alle Elemente in einer Sequenz. Element ist dabei eine Variable die immer mit dem aktuellen Element aus der Sequenz belegt wird.

for Element in Sequenz:
    # Statement

Schleifen - FOR-Each-Loop Beispiel¶

Der for-Loop in Python ist ein For-Each-Loop. Er iteriert immer durch eine Sequenz an Werten, wie z.B. eine Liste. Die Variable des Iterators e enthält dabei den aktuellen Wert der Liste seq.

seq = ['a','b','c']
for e in seq:
    print(e)

Ausgabe:

a
b
c

Schleifen - FOR-Loop Beispiel¶

Der for-Loop in Python kann auch als klassischer For-Loop verwendet werden, bei der man n-mal etwas wiederholt. Dazu erzeugt man mit der range(n)-Funktion eine Folge an Zahlen, durch die dann das For-Each-Loop iteriert wird.

n = 3
seq = range(n)
for e in seq:
    print(e)

Ausgabe:

0
1
2

Schleifen - FOR-Loop Beispiel¶

Damit kann man dann zum Beispiel eine Liste an Messwerten aus imperialen Fuß in metrische Meter umwandeln.

measurements_feet = [4.2, 2.3, 6.2, 10.5]  # Eingabe
measurements_meter = []  # Ergebnisse

for feets in measurements_feet:
    measurements_meter.append(0.3048 * feets)

print(measurements_meter)

Ausgabe:

[1.2801600000000002, 0.70104, 1.88976, 3.2004]

Schleifen - WHILE-Loop¶

Die while-Loop-Schleife wird so lange ausgeführt so lange bis eine Bedingung wahr ist. Da diese am Anfang geprüft wird und von Anfang an falsch sein kann, muss der Inhalt nicht ausgeführt werden.

while Bedingung:
    # Statement

Wie beim if wird die Bedingung auf seinen Wahrheitswert geprüft:

  • Ist dieser True läuft die Schleife einmal durch, woraufhin wieder geprüft wird
  • Ist dieser False endet die Schleife und der Code wird nicht (noch einmal) ausgeführt

Schleifen - While-Loop vs. Do-While-Loop vs. Repeat-Until¶

While-Loop

Im While-Loop kann die Bedingung schon am Anfang falsch sein. Die Schleife muss also nicht ausgeführt werden.

Bedingung = True/False
while Bedingung:
    # Statement
    Bedingung = False

Do-While-Loop

Im Do-While-Loop wird die Bedingung erst am Ende geprüft. Die Schleife wird also immer mindestens einmal durchlaufen.

Bedingung = True
while Bedingung:
    # Statement
    Bedingung = False

Repeat-Until-Loop

Beim Repeat-Until-Loop wird die Bedingung auch erst am Ende geprüft. Die Schleife wird wiederholt bis die Bedingung wahr wird.

Bedingung = False
while not Bedingung:
    # Statement
    Bedingung = True

Programmflusskontrolle¶

Wir kennen nun zwei Werkzeuge:

Bedingte Ausführung:

  • if, else, elif

Mehrfachausführung:

  • while, for

Jedes Programm, was jemals auf einem Computer ausgeführt wurde, könnte mit diesen Mitteln geschrieben werden.

fragen?
programmierung
und datenbanken