Files
Server-MrHossa/FLATNOTES/LF5 Pythen.md

5.9 KiB
Executable File
Raw Permalink Blame History

#lf5

Python – if-Statements & Schleifen

Eine kompakte Referenz zu Bedingungen und Schleifen in Python.


1. if / elif / else

Führt Code abhängig von einer Bedingung aus.

Grundstruktur

if bedingung:
    # wird ausgeführt wenn True
    print("Bedingung erfüllt")
elif andere_bedingung:
    # wird ausgeführt wenn erste False, diese True
    print("Andere Bedingung erfüllt")
else:
    # wird ausgeführt wenn alle Bedingungen False
    print("Keine Bedingung erfüllt")

Vergleichs- und logische Operatoren

Operator Bedeutung
== gleich
!= ungleich
<, >, <=, >= kleiner/größer (gleich)
and logisches UND
or logisches ODER
not logisches NICHT
in Mitgliedschaft
not in keine Mitgliedschaft
x = 42

if x > 0 and x < 100:
    print("im Bereich")

if x % 2 == 0:
    print("gerade")
elif x % 2 != 0:
    print("ungerade")

farbe = "rot"
if farbe in ["rot", "blau", "gelb"]:
    print("Primärfarbe")

Ternärer Ausdruck

Kurze Schreibweise für einfaches if/else:

ergebnis = "gerade" if x % 2 == 0 else "ungerade"

Hinweis: Python kennt kein switch-Statement. Stattdessen nutzt man elif-Ketten oder ab Python 3.10 das match-Statement.


2. for-Schleife

Iteriert über jedes Element einer Sequenz (Liste, Tuple, String, Range, …).

Grundstruktur

for element in sequenz:
    print(element)

Häufige Anwendungsfälle

Liste iterieren:

früchte = ["Apfel", "Birne", "Kirsche"]
for frucht in früchte:
    print(frucht)

Zahlenbereich mit range():

for i in range(5):          # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 10, 2):   # 1, 3, 5, 7, 9
    print(i)

range(start, stop, step) – stop ist nicht enthalten.

Index + Wert mit enumerate():

namen = ["Anna", "Ben", "Clara"]
for i, name in enumerate(namen):
    print(f"{i}: {name}")
# 0: Anna
# 1: Ben
# 2: Clara

Zwei Listen parallel mit zip():

namen = ["Anna", "Ben"]
noten = [1, 2]
for name, note in zip(namen, noten):
    print(f"{name}: {note}")

Dictionary iterieren:

person = {"name": "Max", "alter": 30}
for key, value in person.items():
    print(f"{key} = {value}")

String zeichenweise:

for zeichen in "Python":
    print(zeichen)

List Comprehension (kompakte for-Schleife)

quadrate = [x**2 for x in range(10)]
gerade   = [x for x in range(20) if x % 2 == 0]

for / else

Der else-Block wird ausgeführt, wenn die Schleife normal endet (kein break):

zahlen = [1, 3, 5, 7]
for n in zahlen:
    if n < 0:
        print("Negative Zahl gefunden!")
        break
else:
    print("Alle Zahlen sind positiv.")

3. while-Schleife

Wiederholt Code, solange eine Bedingung True ist.

Grundstruktur

while bedingung:
    # wird wiederholt solange True
    code_hier()

Beispiele

Zähler:

i = 0
while i < 5:
    print(i)
    i += 1   # wichtig: ohne dies → Endlosschleife!

Benutzereingabe bis Abbruch:

while True:
    eingabe = input("Eingabe (oder 'exit'): ")
    if eingabe == "exit":
        break
    print(f"Du hast eingegeben: {eingabe}")

Bedingung abhängig vom Ergebnis:

zahl = 256
while zahl > 1:
    zahl //= 2
    print(zahl)

while / else

Wie bei for: else läuft nur, wenn keine break-Anweisung ausgeführt wurde.

i = 0
while i < 3:
    print(i)
    i += 1
else:
    print("Schleife regulär beendet.")

Achtung: Die häufigste Fehlerquelle ist eine vergessene Variable-Aktualisierung, die zu einer Endlosschleife führt. Immer sicherstellen, dass die Bedingung irgendwann False wird!


4. do-while – Gibt es in Python nicht!

Python hat kein do-while-Statement wie in C, Java oder JavaScript. Das Verhalten lässt sich aber mit while True und break nachbauen:

do-while Äquivalent:

# Entspricht: do { ... } while (bedingung)
while True:
    # Code wird mindestens einmal ausgeführt
    eingabe = input("Zahl eingeben: ")
    zahl = int(eingabe)
    if zahl > 0:   # Schleife läuft weiter solange zahl <= 0
        break

print(f"Positive Zahl: {zahl}")

Vergleich mit anderen Sprachen:

// Java / C / JavaScript:
do {
    eingabe = scanner.nextLine();
} while (!eingabe.equals("exit"));

# Python-Äquivalent:
while True:
    eingabe = input()
    if eingabe == "exit":
        break

5. Steueranweisungen

Gelten für for- und while-Schleifen.

break – Schleife sofort beenden

for i in range(10):
    if i == 5:
        break       # verlässt die Schleife
    print(i)        # gibt 0, 1, 2, 3, 4 aus

continue – aktuelle Iteration überspringen

for i in range(6):
    if i == 3:
        continue    # überspringt i = 3
    print(i)        # gibt 0, 1, 2, 4, 5 aus

pass – Platzhalter / nichts tun

for i in range(5):
    pass   # leere Schleife, kein Fehler

if bedingung:
    pass   # noch nicht implementiert

Verschachtelte Schleifen

break und continue wirken nur auf die innerste Schleife:

for i in range(3):
    for j in range(3):
        if j == 1:
            break       # beendet nur die innere Schleife
        print(i, j)

Tipp: Für den Ausbruch aus mehreren verschachtelten Schleifen die Schleife in eine Funktion auslagern und return verwenden.


Kurzübersicht

Schleife Wann verwenden Python-Syntax
for Anzahl der Iterationen bekannt / Iteration über Sequenz for x in sequenz:
while Anzahl unbekannt, abhängig von Bedingung while bedingung:
do-while Mind. einmal ausführen (kein natives Keyword) while True: ... if ...: break