Python :: Aufgabe #202 :: Lösung #1

4 Lösungen Lösungen öffentlich
#202

Übung zu For-Schleifen

Anfänger - Python von Blasius18 - 27.09.2018 um 18:41 Uhr
Die Fakultät einer Ganzzahl in den Grenzen von 0<=n<=60
als Konsolenanwendung umsetzen.


Der Anwender wird aufgefordet, eine Zahl in den Grenzen von 0 bis 60 einzugeben.
Das Programm errechnet den Wert und gibt ihn wieder aus.
Um die Entwicklung besser verfolgen zu können wird in jedem Schleifendurchgang der Aktuelle wert der Fakultät beim ,i-ten` schleifendurchgang ausgegeben.

Zusatzfeature (kann..)
gibt der Nutzer eine Zahl > 60 ein, gibt's einen Hinweis und er wird erneurt zur Eingabe einer Zahl 1 < zahl < 60 aufgefordert.
hat er 3 mal eine falsche Zahl eingegeben, bricht das Programm ab.
#1
2 Kommentare
vote_ok
von ZRX88 (2770 Punkte) - 01.01.2019 um 13:34 Uhr
Quellcode ausblenden Python-Code
input_string = input('bitte zahl zwischen 0 und 60 eingeben')
try:
    input_number = int(input_string)
except:
    exit('keine ganze Zahl')

if input_number > 60:
    exit('number out of range')
if input_number == 0:
    exit('die final gewuenschte facultaet von %d ist %d' % (input_number, 0))
x = 2
faculaet = 1
while x <= input_number:
    faculaet *= x
    print('facultaet von %d ist %d' % (x, faculaet))
    x += 1

print('die gewuenschte facultaet von %d ist %d' % (input_number, faculaet))



alternativ via for schleife:

Quellcode ausblenden Python-Code
for x in range(input_number):
   faculaet *= x
    print('facultaet von %d ist %d' % (x, faculaet))


Bin mir nicht sicher, was besser lesbar ist. Persönlich gefällt mir "while ... do" in diesem Falle besser.

Kommentare:

Nachbar

Punkte: 2820

30 Aufgaben
67 Lösungen
44 Kommentare

#1
22.02.2019 um 21:57 Uhr
Die "facultaet von 1" fehlt ;o)
post_arrow
574 0

ZRX88

Punkte: 2770

50 Aufgaben
45 Lösungen
10 Kommentare

#2
24.02.2019 um 09:24 Uhr
1 funktioniert auch. ;)


Wenn input_number = 1 folgt, x=2 und facultaet =1. Die Bedingung x<= input_number (2 <=1) ist falsch, also springt man gleich zum Ergebnis:
"die final gewuenschte facultaet von 1 ist 1".

Das Setzen von x=2 suggeriert, dass 1 nicht funktioniert. Es dient lediglich zur Reduzierung der Rechenoperationen.
post_arrow
576 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1810910

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.