Fehler im Python Programm

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Theforceplayer4
User
Beiträge: 1
Registriert: Samstag 10. November 2012, 20:47

Samstag 10. November 2012, 20:53

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
Zuletzt geändert von Anonymous am Samstag 10. November 2012, 21:06, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

Samstag 10. November 2012, 21:09

@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.
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Sonntag 11. November 2012, 01:25

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 :)
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Benutzeravatar
/me
User
Beiträge: 3289
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Sonntag 11. November 2012, 02:50

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
Antworten