»if« – »else« im Überblick

Nach if steht immer eine Bedingung, und es wird geprüft, ob diese Bedingung wahr ist. Beim Programmieren gibt es keine Halbwahrheiten. Entweder eine Bedingung ist wahr, oder sie ist falsch. Bedingungen, die man prüfen kann, sind aber nicht nur gleiche Zahlenwerte. Man kann Zahlen wie Zeichen auf Gleichheit, Ungleichheit, größer oder kleiner prüfen.

Beispiele:

if x == 3: prüft, ob x gleich 3 ist
if x != 3: prüft, ob x ungleich drei ist (also nicht 3)
if x > 5: prüft, ob x größer als 5 ist
if x < 9: prüft, ob x kleiner als 9 ist
if x <= 7: prüft, ob x kleiner oder gleich 7 ist
if x >= 2: prüft, ob x größer oder gleich 2 ist

Das geht natürlich nicht nur mit Zahlen, sondern auch mit Zeichenketten:

if name == "Otto": prüft, ob name gleich »Otto« ist
if "Otto" > "Erwin": prüft, ob der Text "Otto" größer als der Text "Erwin" ist – ob er also weiter hinten in alphabetischer Sortierung steht

Eine Bedingung, die mit if geprüft wird, nennt man auch eine logische Aussage, die immer entweder wahr (True) oder falsch (False) ist, zum Beispiel:

Man kann diese Überprüfungen auch in eine Variable schreiben:

bedingung = (5 > 3)
print bedingung

Das ergibt als Ausgabe:

True

Wenn du True oder False in einem Programm als Wert verwendest, müssen beide immer mit großem Anfangsbuchstaben geschrieben werden.

Ebenso kann man statt des Vergleichs selber eine Variable, die True oder False enthält, mit if abfragen:

if bedingung == True:

Oder noch einfacher:

if bedingung:
[+]  Wahrheitsaussage als Variablenwert

Hinter dem if steht immer eine Aussage, die wahr (True) oder falsch (False) ist. Wenn aber eine Variable den Wert wahr oder falsch enthält, kann man auch diese hinter das if schreiben, dann ist die Variable eine Aussage, die wahr oder falsch ist (man nennt das auch eine Boolesche Variable, die nur einen von zwei Werten enthalten kann, True oder False).

x = input("Gib eine Zahl größer als 5 ein:")
aussage = (x > 5)
if aussage:
print "Korrekt - die Zahl ist über 5."
if aussage == False:
print "Falsche Eingabe"

Übrigens: Der Wert False entspricht in Python dem Wert 0, der Wert True entspricht dem Wert 1 oder jeder anderen Zahl außer 0.

Man kann also auch folgendermaßen abfragen:

x = input("Gib einen Wert ein:")
if x: # bedeutet: x ist True, also etwas anderes als 0
print "du hast etwas anderes als 0 eingegeben."
else: # bedeutet: x ist False, also 0
print "du hast den Wert 0 eingegeben."

Etwas trickreicher wird die Logik noch, wenn man mehrere Bedingungen miteinander verknüpft: