Die Sache mit dem If und den Hexen
Verfasst: Dienstag 18. März 2014, 21:44
Ich habe ein kleines Programm mit Hexen geschrieben. Es gibt vier Hexen, eine Schneehexe, eine Waldhexe, eine Sonnenhexe und eine Seehexe.
Bei jedem Schleifendurchlauf wird geprüft, um welche Hexe es sich handelt.
Bei der letzten Prüfung wird nur geschaut, ob die "Sonnenhexe" grade da ist.
Ist die for-Schleife gerade bei der Seehexe, dann reagiert der dritte if-Block nicht auf die Waldhexe, ist die for-Schleife aber bei der Sonnenhexe, dann reagiert der if-Block, warum?
Meine Frage - darf ich nach if Hexe == ... hier keine zwei Einzelbedingungen reinschreiben und die mit or verknüpfen, sondern muss es stets wie bei der zweiten if-Abfrage tun?
Code: Alles auswählen
#!/usr/bin/env python
Hexen = ["Schneehexe", "Sonnenhexe", "Waldhexe", "Seehexe"]
for Hexe in Hexen:
print "\n\n aktuelle Hexe: " + Hexe
if Hexe == "Schneehexe":
print "Schneehexe ist da"
if (Hexe == "Schneehexe") or (Hexe == "Waldhexe"):
print "Es ist eine Schnee- oder Waldhexe"
if Hexe == ("Sonnenhexe" or "Seehexe"):
print "Sonnen- oder Seehexe"
Bei der letzten Prüfung wird nur geschaut, ob die "Sonnenhexe" grade da ist.
Ist die for-Schleife gerade bei der Seehexe, dann reagiert der dritte if-Block nicht auf die Waldhexe, ist die for-Schleife aber bei der Sonnenhexe, dann reagiert der if-Block, warum?
Meine Frage - darf ich nach if Hexe == ... hier keine zwei Einzelbedingungen reinschreiben und die mit or verknüpfen, sondern muss es stets wie bei der zweiten if-Abfrage tun?