Beispiel 1: Finden Sie die Fakultät einer Zahl mit der eingebauten Funktion
Python hat eine eingebaute Funktion namens Fakultät() unter dem Mathematik Modul. Das folgende Skript berechnet die Fakultät einer beliebigen Zahl mit einem eingebauten Fakultät() Funktion. In diesem Skript wird jede gültige ganze Zahl als Eingabe verwendet, und die Funktion berechnet den Fakultätswert dieser Zahl und gibt den Fakultätswert der eingegebenen Zahl aus.
#!/usr/bin/env python3# Mathematikmodul importieren Import
Mathematik importieren
# Nimm beliebige Zahlenwerte
n = int(input("Geben Sie eine beliebige Zahl ein:"))
# Finde die Fakultät heraus
Tatsache = Mathematik.Fakultät(n)
# Ergebnis der Fakultät ausgeben
print("Die Fakultät von %d ist %d" %(n,fact))
Ausgabe
Nach dem Ausführen des Skripts wird 3 als Eingabenummer und als Ausgabe 3 . angegeben!, 6, wird gedruckt.
Beispiel 2: Finden Sie die Fakultät einer Zahl mit der Schleife
Das folgende Skript zeigt, wie Sie die Fakultät einer beliebigen Zahl berechnen können, ohne eine eingebaute Funktion in Python zu verwenden. Hier die zum Schleife wird verwendet, um die Fakultät einer Zahl zu berechnen. Jeder eingegebene ganzzahlige Wert wird genommen und als die Variable namens . gespeichert nein. Eine Variable namens Tatsache wird verwendet, um das Fakultätsergebnis zu speichern und wird vor dem Eintritt in die Schleife auf 1 initialisiert. Wenn der Wert von nein größer als eins oder gleich eins ist, wird die Schleife 1- bis n+1-mal iterieren und den Fakultätswert berechnen. Andernfalls prüft die Schleife, ob der Wert von n gleich 0 oder negativ ist. Wenn der Wert von n 0 ist, ist das Fakultätsergebnis 1; und wenn der Wert von n eine negative ganze Zahl ist, wird eine Fehlermeldung ausgegeben.
#!/usr/bin/env python3# Nimm einen numerischen Wert und speichere ihn in n
n = int(input("Geben Sie eine beliebige Zahl ein:"))
# Initialisieren Sie die Variable
Tatsache = 1
# Ermitteln Sie die Fakultät, wenn die eingegebene Zahl größer als 0 . ist
wenn n >= 1:
# Iteriere die Schleife, um die Zahlen innerhalb von 1 bis n . zu multiplizieren
für i im Bereich (1,n+1):
Tatsache = Tatsache * ich
# Drucken Sie das fkatorische Ergebnis
print("Die Fakultät von %d ist %d." %(n,fakt))
sonst:
wenn n == 0:
# Drucken Sie das Ergebnis von 0!
print("Die Fakultät von ", n , " ist ")
sonst:
# Drucken Sie die Fehlermeldung
print("Sie müssen eine beliebige positive Zahl eingeben")
Ausgabe
Das Skript wird laut folgendem Screenshot dreimal ausgeführt. Das Skript wird für die Eingabewerte 1, 6 und -8 . ausgeführt. Die Ausgänge werden entsprechend den Eingangswerten angezeigt.
Beispiel 3: Finden Sie die Fakultät einer Zahl mit der rekursiven Funktion
Die Funktion, die sich während der Ausführung der Funktion selbst aufruft, wird als rekursive Funktion bezeichnet. Das folgende Skript zeigt, wie man die Fakultät einer beliebigen ganzen Zahl mit einer rekursiven Funktion berechnen kann. Nachdem die ganze Zahl als Eingabe genommen wurde, wird die rekursive Funktion Factorial_resursive() wird aufgerufen, mit dem Eingabewert als Argument. Wenn der Eingabewert 0 oder 1 ist, wird 1 zurückgegeben. Wenn der Eingabewert negativ ist, wird der Argumentwert zurückgegeben. Wenn der Eingabewert größer als 1 ist, ruft sich die Funktion selbst auf, indem sie das Argument immer wieder um 1 subtrahiert, bis sie das Ergebnis der Fakultät berechnet.
#!/usr/bin/env python3# Nehmen Sie einen numerischen Wert
number = int(input("Geben Sie eine beliebige Zahl ein: "))
# Definieren Sie die rekursive Funktion zur Berechnung der Fakultät
def faktoriell_rekursiv(n):
# Speichern Sie das Fakultätsergebnis von 0 und 1
wenn n == 0 oder n == 1:
Ergebnis = 1
# Speichern Sie die eingegebene Zahl für den negativen Wert
elif n < 1:
Ergebnis = n
# Finden Sie das faktorielle Ergebnis auf rekursive Weise
sonst:
Ergebnis = n*faktoriell_rekursiv(n-1)
# Ergebnis zurückgeben
Ergebnis zurückgeben
# Rufen Sie die Funktion auf
Fakt = Factorial_recursive(Zahl)
# Drucken Sie das Ergebnis für eine positive Zahl
wenn Tatsache >= 0:
print("Die Fakultät von %d ist %d." %(Zahl,Fakt))
sonst:
# Drucken Sie die Nachricht für eine negative Zahl
print("Sie müssen eine beliebige positive Zahl eingeben")
Ausgabe
Im folgenden Screenshot wird das Skript dreimal mit den Werten 1, -5 und 8 ausgeführt.
Beispiel 4: Ermitteln der Fakultät einer Zahl mit Ausnahmebehandlung
Die obigen drei Skripte prüfen nur, ob die Zahl positiv oder negativ ist. Das folgende Skript berechnet die Fakultät über eine eingebaute Funktion factorial() mit Ausnahmebehandlung. Wenn der Benutzer eine Eingabe ohne einen ganzzahligen Wert macht, wird eine Ausnahme generiert und eine Fehlermeldung ausgegeben.
#!/usr/bin/env python3# Mathematikmodul importieren Import
Mathematik importieren
# Trotze dem Versuchsblock
Versuchen:
# Nimm einen numerischen Wert
n = int(input("Geben Sie eine beliebige Zahl ein:"))
wenn n >= 0 :
# Finde die Fakultät heraus
Tatsache = Mathematik.Fakultät(n)
# Ergebnis der Fakultät ausgeben
print("Die Fakultät von %d ist %d" %(n,fact))
sonst:
# Ausnahme auslösen, wenn die Zahl negativ ist
raise Exception("Sie müssen eine beliebige positive Zahl eingeben")
# die Fehlermeldung für die Brucheingabe ausgeben
außer ValueError:
print("Sie müssen eine ganze Zahl eingeben")
# Fehlermeldung bei negativer Eingabe drucken
außer Ausnahme wie e:
print('Fehler:%s' %e)
Ausgabe
Das Skript wird im folgenden Screenshot dreimal mit den Werten h, -3 und 7 ausgeführt. Hier wird die Ausnahme für den Wert 'h . erzeugt.'
Fazit
Dieses Tutorial zeigt einige der verschiedenen Möglichkeiten, wie Sie den Fakultätswert einer Zahl in Python berechnen können. Das Konzept der Fakultät einer Zahl und Python-basierte Methoden zur Berechnung der Fakultät sollten dem Leser nach dem Lesen dieses Tutorials klar sein.