3  Entscheidungen und Wiederholungen

Programme müssen oft Entscheidungen treffen – zum Beispiel abhängig von einer Benutzereingabe oder einem bestimmten Wert. Ebenso müssen bestimmte Aktionen mehrfach durchgeführt werden.

Dafür gibt es zwei zentrale Elemente in Python:

3.1 Lernziele dieses Kapitels

Am Ende dieses Kapitels können Sie:

  • Bedingungen formulieren und mit if, elif, else nutzen,
  • Vergleichsoperatoren verwenden (==, <, !=, …),
  • Wiederholungen mit while und for umsetzen.

3.2 Bedingungen mit if, elif, else

alter = 17

if alter >= 18:
    print("Sie sind volljährig.")
else:
    print("Sie sind minderjährig.")
Sie sind minderjährig.

Mehrere Fälle unterscheiden:

note = 2.3

if note <= 1.5:
    print("Sehr gut")
elif note <= 2.5:
    print("Gut")
elif note <= 3.5:
    print("Befriedigend")
else:
    print("Ausreichend oder schlechter")
Gut

3.3 Vergleichsoperatoren

Ausdruck Bedeutung
a == b gleich
a != b ungleich
a < b kleiner als
a > b größer als
a <= b kleiner oder gleich
a >= b größer oder gleich

3.4 Wiederholungen mit while

zähler = 0

while zähler < 5:
    print("Zähler ist:", zähler)
    zähler += 1
Zähler ist: 0
Zähler ist: 1
Zähler ist: 2
Zähler ist: 3
Zähler ist: 4
Important

Achten Sie auf eine Abbruchbedingung – sonst läuft die Schleife endlos!

3.5 Schleifen mit for und range()

Wenn Sie eine Schleife genau eine bestimmte Anzahl von Malen durchlaufen möchten, nutzen Sie for mit range():

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

Start- und Endwert festlegen:

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

3.6 Was macht range() genau?

Die Funktion range() erzeugt eine Abfolge von Zahlen, über die Sie mit einer for-Schleife iterieren können.

3.6.1 Varianten:

range(5)

➡️ ergibt: 0, 1, 2, 3, 4 (startet bei 0, endet vor 5)

range(2, 6)

➡️ ergibt: 2, 3, 4, 5 (startet bei 2, endet vor 6)

range(1, 10, 2)

➡️ ergibt: 1, 3, 5, 7, 9 (Schrittweite = 2)

range() erzeugt keine echte Liste, sondern ein sogenanntes „range-Objekt“, das wie eine Liste verwendet werden kann.

Nutzen Sie eine for-Schleife, um die Zahlen von 1 bis 10 auszugeben.

for i in range(1, 11):
    print(i)
1
2
3
4
5
6
7
8
9
10

Geben Sie alle geraden Zahlen von 0 bis 20 aus. Tipp: Eine Zahl ist gerade, wenn zahl % 2 == 0.

for zahl in range(0, 21):
    if zahl % 2 == 0:
        print(zahl)
0
2
4
6
8
10
12
14
16
18
20