5.2 Programmverzweigungen: if

5.2 Programmverzweigungen: if#

Im letzten Kapitel haben wir gelernt, wie ein Vergleich in Python durchgeführt wird und mit welchem Datentyp das Ergebnis eines solchen Vergleichs gespeichert wird. In diesem Kapitel geht es nun darum, dass das Python-Programm auf das Ergebnis eines Vergleichs reagiert, indem Code-Abschnitte nur dann ausgeführt werden, wenn eine Bedingung erfüllt ist.

Lernziele#

Lernziele

  • Sie können mit if eine Programmverzweigung implementieren.

Syntax der if-Verzweigung#

Bei einer Programmverzweigung wird Code abhängig von einer Bedingung ausgeführt. Im einfachsten Fall liegt ein if-Block vor. Die Syntax lautet wie folgt:

if bedingung:
    anweisungsblock

Ist die Bedingung erfüllt, also “True”, so wird der eingerückte Anweisungsblock ausgeführt, ansonsten übersprungen. Damit ist gemeint, dass der Python-Interpreter nach dem Ende des if-Blocks weiter macht, falls die Bedingung nicht erfüllt (= False) wird.

Wir betrachten nun ein Beispiel:

alter = 20
if alter >= 18:
    print('Sie dürfen Alkohol kaufen.')
print('Bananen dürfen Sie immer kaufen, egal wie alt Sie sind ...')
Sie dürfen Alkohol kaufen.
Bananen dürfen Sie immer kaufen, egal wie alt Sie sind ...

Da die Person volljährig ist (alter = 20), ist der Vergleich alter >= 18 wahr, die Bedingung also erfüllt. Daher wird der Anweisungsblock, der nur aus einer einzigen Anweisung besteht, ausgeführt. Der Python-Interpreter gibt den String Sie dürfen Alkohol kaufen. aus und macht dann mit dem normalen Programm weiter.

Dieser Code könnte beispielsweise mit einer Benutzerabfrage kombiniert werden:

alter = int(input('Wie alt sind Sie?'))
if (alter >= 18):
    print('Sie dürfen Alkohol kaufen.')
print('Bananen dürfen Sie immer kaufen, egal wie alt Sie sind...')

Mini-Übung

Schreiben Sie ein Skript, das einen Benutzer oder eine Benutzerin nach der aktuellen Temperatur fragt. Wenn die Temperatur kleiner gleich 10 ˚C ist, soll ausgegeben werden: “Heute ist es aber kalt!”

# Geben Sie nach diesem Kommentar Ihren Code ein:

Lösung

# Eingabe
temperatur = int(input('Welche Temperatur haben wir aktuell?'))

# Verarbeitung und Ausgabe
if temperatur <= 10:
    print('Heute ist es aber kalt!')

Mini-Übung

Schreiben Sie ein Skript, das eine Benutzerin oder einen Benutzer nach einer Zahl fragt. Wenn die Zahl kleiner als 0 ist, soll ausgegeben werden: “Die Zahl ist negativ.” Wenn die Zahl genau gleich 0 ist, soll ausgegeben werden: “Die Zahl ist Null.” Wenn die Zahl größer als 0 ist, soll ausgegeben werden: “Die Zahl ist positiv.”

Wie viele if-Blöcke brauchen Sie für die Umsetzung dieser Mini-Übung?

# Geben Sie nach diesem Kommentar Ihren Code ein:

Lösung

# Eingabe
zahl = float(input('Geben Sie bitte eine Zahl ein: '))

# Verarbeitung und Ausgabe
if zahl < 0:
    print('Die Zahl ist negativ.')

if zahl == 0:
    print('Die Zahl ist Null.')

if zahl > 0:
    print('Die Zahl ist positiv.')

Der Code erfordert drei if-Blöcke.