Seite 1 von 1

Anfängerfrage, ursprünglichen Input wieder ausgeben lassen

Verfasst: Sonntag 3. Mai 2020, 22:18
von DeinError404
Hallo,

ich mache gerade meine ersten Schritte mit Python, daher ist die Frage vermutlich dämlich, aber ich komme da gerade einfach nicht weiter:

ich habe zur Übung ein kurzes Programm geschrieben, das von einem integer-input per while-schleife (das war die Aufgabe) die Fakultät berechnet. Das Programm läuft auch, allerdings würde ich am Ende gerne folgendes ausgeben lassen:

Angenommen beim Input wird "5" eingegeben, dann als Output "5! = 120".

Hier die paar Zeilen Code, die ich mir dafür überlegt habe:

Code: Alles auswählen

x = int (input ("Geben Sie eine Ganzzahl ein!"))
y = 1
z = 1
while x>1:
    x=x-1
    y=y+1
    z=z*y
print (x,"!=", z)

Die Fakultät der eingegebenen Zahl wird korrekt berechnet, allerdings wird "x" durch die while-schleife immer =1, sodass das Programm bei Input "5" als Output "1!=120" ausgibt.

Meine einfache Frage: Wie kann ich es einrichten, dass der ursprünglich eingegebene Wert für x auch wieder ausgegeben wird?

Bin dankbar für alle Tipps.

Re: Anfängerfrage, ursprünglichen Input wieder ausgeben lassen

Verfasst: Montag 4. Mai 2020, 05:19
von Sirius3
Du musst die nur den ursprünglichen Wert in einer weiten Variable merken.
Die bessere Alternative ist es jedoch, x gar nicht zu ändern, indem Du z.B. x gar nicht nach unten zählst, sondern nur y bis x hoch. Und noch besser, die Berechnung in eine Funktion packst.

Code: Alles auswählen

x = int(input("Geben Sie eine Ganzzahl ein!"))
z = fakultaet(x)
print(f"{x}! = {z}")

Re: Anfängerfrage, ursprünglichen Input wieder ausgeben lassen

Verfasst: Sonntag 10. Mai 2020, 20:41
von DeinError404
Danke für die Antwort.
Das macht total viel Sinn und ich ärgere mich schwarz, dass ich nicht von selbst drauf gekommen bin!

Vielen Dank.