Seite 1 von 1

Fehler im Python Programm

Verfasst: Samstag 10. November 2012, 20:53
von Theforceplayer4
Hallo Leute
Ich bin dabei Python zu lernen. Aber es gab einen Source Code zu einem der wie folgt aussieht

Code: Alles auswählen

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

Problem:
Wenn man 4 eingibt kommt 11 warum nicht 7 oder 8 ich habe einfach kein Plan ich verstehe das Programm nicht
kann mir jmd es erklären und kann mir jmd die Rechnung schreiben

Entschuldigung wenn ihr es nicht so wie ich sage versteht kann mich nicht so gut ausdrücken

Re: Fehler im Python Programm

Verfasst: Samstag 10. November 2012, 21:09
von BlackJack
@Theforceplayer4: Arbeite ein Tutorial durch wo ``while``-Schleifen erklärt werden und dann vollziehe es Schritt für Schritt nach. Schreib Dir die Werte auf einen Zettel die an die Namen `zahl` und `ergebnis` bei jedem Schritt gebunden sind.

Re: Fehler im Python Programm

Verfasst: Sonntag 11. November 2012, 01:25
von StefanLawl
Setze nach

Code: Alles auswählen

while zahl>0:
mal

Code: Alles auswählen

print ergebnis, '+', zahl
ein, also sollte das so aussehen:

Code: Alles auswählen

    while zahl>0:
        print ergebnis, '+', zahl
Und starte das Programm noch einmal :) Vielleicht erkennst du ja dann, wie das funktioniert :)

Re: Fehler im Python Programm

Verfasst: Sonntag 11. November 2012, 02:50
von /me
Theforceplayer4 hat geschrieben:Wenn man 4 eingibt kommt 11 warum nicht 7 oder 8 ich habe einfach kein Plan ich verstehe das Programm nicht
kann mir jmd es erklären und kann mir jmd die Rechnung schreiben
Unter http://www.pythontutor.com/visualize.ht ... =visualize kannst du das Programm mal schrittweise laufen lassen.

Ich habe mal alles Überflüssige für den Test weggeworfen und da input() online nicht unterstützt wird direkt eine 4 zugewiesen.

Code: Alles auswählen

zahl = 4
ergebnis = 1
while zahl > 0:
    ergebnis = ergebnis + zahl
    zahl = zahl -1
print "Ergebnis: ", ergebnis