< Kurs:Python < LG < Py2009

Kontrollstrukturen

Fallunterscheidungen

Kapitel

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

x = 3
y = 24

print ( x + 4 if x == 3 else y-x )

Schleifen

Kapitel

continue-Anweisung

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.

This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.