6.1 if else
In Python, wie in vielen Programmiersprachen, können Anweisungen nicht nur linear, sondern auch wahlweise nach einer bestimmten Bedingung ausgeführt werden. Diese Konstruktion nennt man einen bedingten Operator. Der allgemeine Aufbau sieht so aus:
if Bedingung:
Befehl1
else:
Befehl2
Wenn die Bedingung wahr ist ( True), wird Befehl1 ausgeführt, wenn falsch ( False), wird Befehl2 ausgeführt. Die Befehle werden nie gleichzeitig ausgeführt: entweder der eine oder der andere.
Wichtig! Die Kind-Befehle müssen(!) unbedingt um 4 Leerzeichen gegenüber den Befehlen if und else eingerückt sein. Mehr darüber in der nächsten Vorlesung "Befehlsblock".
Beispiele:
|
Die Bedingung y > 5 ist falsch, daher wird der else-Zweig ausgeführt und das Programm druckt "y ist nicht größer als 5". |
Noch ein Beispiel:
|
Wenn der Nutzer die Zahl 18 oder mehr eingibt, druckt das Programm „Du bist volljährig“, andernfalls „Geh deine Hausaufgaben machen“. |
6.2 if ohne else
Es gibt noch 2 Formen des bedingten Operators – die verkürzte und die erweiterte.
In der verkürzten Form fehlt der else-Teil.
if Bedingung:
Befehl
Wenn die Bedingung wahr ist, wird der Befehl ausgeführt. Ist sie nicht wahr, passiert nichts – das Programm läuft weiter und führt die restlichen Befehle aus, sofern vorhanden.
Beispiel:
|
Wenn der Nutzer die Zahl 21 oder mehr eingibt, druckt das Programm „Hier ist dein Bier“. Wenn die Zahl kleiner als 21 ist, druckt das Programm nichts. |
6.3 if elif else
Die erweiterte Form des if else-Operators ermöglicht es, mehrere if else-Operatoren zu einem zusammenzufügen.
Angenommen, du möchtest bestimmen, zu welchem Quadranten des Koordinatensystems ein Punkt mit den Koordinaten x und y gehört. So kannst du das mit if und else machen:
|
Wenn x > 0 und y > 0, wird „erster Quadrant“ ausgegeben. Wenn x < 0 und y > 0, wird „zweiter Quadrant“ ausgegeben. Wenn x < 0 und y < 0, wird „dritter Quadrant“ ausgegeben. Wenn x > 0 und y < 0, wird „vierter Quadrant“ ausgegeben. |
Da es unmöglich ist, Einrückungen zu vermeiden, und der Code lesbar bleiben soll, wurde der spezielle Operator elif erfunden, der es ermöglicht, solche if-Ketten in etwas Lesbarerem zu verwandeln. Er sieht so aus:
if Bedingung1:
Befehl1
elif Bedingung2:
Befehl2
elif BedingungN:
BefehlN
else:
BefehlElse
Das Schlüsselwort elif ist eine Abkürzung für else if. Und der Code aus dem obigen Beispiel lässt sich nun so schreiben:
|
Wenn x > 0 und y > 0, wird „erster Quadrant“ ausgegeben. Wenn x < 0 und y > 0, wird „zweiter Quadrant“ ausgegeben. Wenn x < 0 und y < 0, wird „dritter Quadrant“ ausgegeben. Wenn x > 0 und y < 0, wird „vierter Quadrant“ ausgegeben. |
GO TO FULL VERSION