Kurs:Python/LG/Py2009/Kontrollstrukturen
Erscheinungsbild
Kontrollstrukturen
[Bearbeiten]Fallunterscheidungen
[Bearbeiten]if x == 1:
print "x hat den Wert 1"
elif x == 2:
print "x hat den Wert 2"
else:
print "Fehler: Der Wert von x ist weder 1 noch 2"
Conditional expressions
[Bearbeiten]x = 3
y = 24
print ( x + 4 if x == 3 else y-x )
Schleifen
[Bearbeiten]continue-Anweisung
[Bearbeiten]while True:
zahl = input("Geben Sie eine Zahl ein: ")
ergebnis = 1
while zahl > 0:
ergebnis = ergebnis * zahl
zahl = zahl - 1
print "Ergebnis: ", ergebnis
- Wenn die Schleife (1) immer True ist, wie kann dann die Schleife verlassen werden?
- Die Fakultät von 0 ist 1. Aber: Fakultät. Die Fakultät ist nur für ganze Zahlen >= 1 definiert.
- Verbesserte Version mit continue-Anweisung
while True:
zahl = input("Geben Sie eine Zahl ein: ")
if zahl < 0:
print "Negative Zahlen sind nicht erlaubt"
continue
ergebnis = 1
while zahl > 0:
ergebnis = ergebnis * zahl
zahl = zahl - 1
print "Ergebnis: ", ergebnis
- Meine verbesserte Version
while True:
zahl = input("Geben Sie eine Zahl ein: ")
if zahl <= 0:
print "0 bzw. negative Zahlen sind nicht erlaubt."
continue
""""Wie kann ich abfangen, dass keine Gleitkommazahl eingegeben wird?
print "Ungerade Zahlen sind nicht erlaubt."
continue
Hier fehlt eine weitere if-Anweisung."""
ergebnis = 1
while zahl > 0:
ergebnis = ergebnis * zahl
zahl = zahl - 1
print "Ergebnis: ", ergebnis
Es fehlt eine Überprüfung, ob die eingegebene Zahl eine Gleitkommazahl ist. Für Gleitkommazahlen ist die Fakultät nicht definiert.