Python While Schleife schnall ich nicht
Hallo,
ich progge seit kurzem mit Python rum. Dabei hab ich ne Knick im Kopp bei folgenden Code:
while True:
zahl = input("Geben Sie eine Zahl ein: ")
ergebnis = 1
while zahl > 0:
ergebnis = ergebnis * zahl
zahl = zahl - 1
print "Ergebnis: ", ergebnis
Berrechnet wird die Fakultaet der eingegebenen Zahl.
Aber warum ??
Nach meiner Logik :
Ich gebe die Zahl 5 ein.
Da die Bedingung zahl > 0 ja immer besteht wieso kommt da jetzt 120 raus ??
Oder bin ich zu nuechtern und muss erst zur Tanke ?
Gruss
ich progge seit kurzem mit Python rum. Dabei hab ich ne Knick im Kopp bei folgenden Code:
while True:
zahl = input("Geben Sie eine Zahl ein: ")
ergebnis = 1
while zahl > 0:
ergebnis = ergebnis * zahl
zahl = zahl - 1
print "Ergebnis: ", ergebnis
Berrechnet wird die Fakultaet der eingegebenen Zahl.
Aber warum ??
Nach meiner Logik :
Ich gebe die Zahl 5 ein.
Oder bin ich zu nuechtern und muss erst zur Tanke ?
Gruss
Please also mark the comments that contributed to the solution of the article
Content-ID: 232529
Url: https://administrator.de/forum/python-while-schleife-schnall-ich-nicht-232529.html
Printed on: January 25, 2025 at 20:01 o'clock
3 Comments
Latest comment
Hallo Alchimedes
ich hab keine Ahnung von Python, aber bastla hat recht.
UND beim 2. Durchlauf ist ergebnis (wegen
Dann 20 * 3 = 60, danach 60 * 2 = 120. Beim nächsten Schleifendurchlauf ist zahl = 1, was am Ergebnis nichts mehr ändert und zuletzt 0, was nicht mehr in die Berechnung einfließt, da das Abbruchkriterium der Schleife erfüllt ist.
Grüße
rubberman
ich hab keine Ahnung von Python, aber bastla hat recht.
UND beim 2. Durchlauf ist ergebnis (wegen
ergebnis = ergebnis * zahl
) bereits 5 * 4, also 20.Dann 20 * 3 = 60, danach 60 * 2 = 120. Beim nächsten Schleifendurchlauf ist zahl = 1, was am Ergebnis nichts mehr ändert und zuletzt 0, was nicht mehr in die Berechnung einfließt, da das Abbruchkriterium der Schleife erfüllt ist.
Grüße
rubberman