Kurs:Python/Material/Scripts/Fakultät
Das Script berechnet die Fakultät einer natürlichen Zahl.
Script
Bearbeitendef fakultaet(wert):
if wert == 0:
return 1
else:
return wert * fakultaet( wert -1)
# Startwert
n = 1
print '\n', "Programm zur Berechnung der Fakultaet einer natuerlichen Zahl n"
while n != 0:
print '\n', "Geben Sie 0 ein, um das Programm zu beenden!"
n = input ("Geben Sie eine natuerliche Zahl ein: ")
if n < 0:
print "Das ist keine natuerliche Zahl."
elif n == 0:
print "Das Programm wurde beendet."
break
else:
print "Die Fakultaet von " + str(n) + " ist " + str (fakultaet(n)) + "."
Alternative Lösung
Bearbeitendef fakultaet (n):
if type(n) != type(1):
print "Factorial is only defined for integers."
return -1
elif n < 0:
print "Factorial is only defined for positive integers."
return -1
elif n == 0:
return 1
else:
return n * fakultaet(n-1)
Funktioniert nur in der Konsole :-(