while schleife: nur den letzten durchlauf ausgeben

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
shahination
User
Beiträge: 3
Registriert: Donnerstag 20. Oktober 2011, 07:32

Hallo, ich bin neu in Python und ich habe da eine Frage zu eine while schleife.

Ich habe folgenden code und möchte den letzten Durchlauf der Schleife als Ergebnis ausgeben, aber ich weiß nicht wie:

Code: Alles auswählen

# Zwei Zahlen sollen durch Addition multipliziert werden!!
    
a = int(input("1. Zahl: "))
b = int(input("2. Zahl: "))
c = b

while a != 1:
    b = b+c
    a = a-1
        
    print (b) 
Beispiel für a = 3 und b = c = 5 soll er so vorgehen:
1. Durchgang:
b = b + c = 5 + 5 = 10
dann a = a-1 = 3-1 = 2

nächster Durchgang, da a ungleich 0:
10 + 5 = 15
dann 2-1 = 1

Zum Schluss, da a = 1, dann Stopp und
Ergebnis ausgeben: Ergebnis = 15.

So wie der Code jetzt ist gibt er mir aber jeden Durchlauf aus:
10
15
Wie kann ich es realisieren, dass er nur 15 ausgibt?

Ist natürlich erstmal nur für zaheln >1

Ich danke schonmal für eure Hilfe!! :)
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Zu deinem Problem dass er nur das letzte Ergebnis zurückliefern soll, solltest du mal mit Tabs in deinem Code rumspielen :P
shahination
User
Beiträge: 3
Registriert: Donnerstag 20. Oktober 2011, 07:32

Wie meinst du das?

Python mekkert wenn ich einen tab zuviel mache.
Wenn ich zum bsp. die letzte zeile print(b) nochmal tabbe, dann kommt fehler:

Code: Alles auswählen

    print (b) 
    ^
IndentationError: unexpected indent
geht auch nicht wenn ich was anderes tabbe..
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Du hättest es auch mit Tab löschen probieren können :P
Ist doch logisch, du willst nur das letzte Ergebnis aus der while-Schleife, also solltest du an dem Punkt das Ergebnis abfragen wo dies der Fall ist.
Das ist halt nachdem die while-Schleife komplett durch gelaufen ist.
shahination
User
Beiträge: 3
Registriert: Donnerstag 20. Oktober 2011, 07:32

WOW, wie peinlich :oops:

Du hast absolut recht! danke :)
Antworten