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
Wichtig

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

Wird die Variable ‘zähler’ nicht erhöht, wird die Abbruchbedingung nie erreicht.

zähler = 0

while zähler < 5:
    print("Zähler ist:", zähler)

In Python können Sie die Programmausführung durch gemeinsames Drücken der Tasten Strg und C beenden. Je nach verwendeter Entwicklungsumgebung kann eine andere Tastenkombination gelten.

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.

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