So finden Sie die Fakultät in Python [mit Codierungsbeispielen]

Veröffentlicht: 2020-11-30

Inhaltsverzeichnis

Einführung

Jeder von uns muss mit dem Wort Fakultät vertraut sein, da wir alle damit in unserer Grundschule im Fach Mathematik vertraut gemacht wurden. Fakultät ist das Produkt aller positiven ganzen Zahlen, beginnend bei eins bis zur angegebenen Zahl. Factorial wird nur für positive Werte berechnet und kann nicht für Negativ- und Float-Typen berechnet werden.

Wenn ich faktorielle und andere mathematische Konzepte lerne, habe ich mich gefragt, wo ich sie dank Data Science in meinem wirklichen Leben anwenden würde, da ich jetzt die Bedeutung aller mathematischen Komponenten wie Lineare Algebra, Wahrscheinlichkeit, Statistik verstehen konnte.

Lassen Sie uns in diesem Artikel die Bedeutung der Fakultät sehen, verschiedene Möglichkeiten, sie mit Python zu berechnen.

Bedeutung

Nehmen wir ein Beispiel, dass wir ein Rennen zwischen 10 Autos in einem Weltrennen haben, und wir haben eine Problemstellung, um herauszufinden, auf wie viele Arten diese 10 Autos den ersten, zweiten und dritten Platz belegen. Da es nur 10 Autos gibt, möchten wir einfach einen Zettel nehmen und die verschiedenen Kombinationen aufschreiben. Aber was ist, wenn wir 100 Autos oder mehr Veranstaltungen haben und wir darin die gleiche oder eine ähnliche Problemstellung haben?

Um solche Situationen zu bewältigen, haben wir etwas namens Permutation . Ich denke, Sie kennen diesen Begriff als Permutationen und Kombinationen in unserer Grundschule. Diese werden dringend benötigt, wenn Sie Ihre Datenanalyse- und Statistikfähigkeiten verbessern möchten. Wenn Sie Anfänger sind und mehr über Data Science erfahren möchten, sehen Sie sich unsere Data Science-Kurse von Top-Universitäten an. Dies hilft, die Problemstellung wie unten angegeben zu lösen.

Lösung

Wir haben insgesamt 10 Autos.

Wir müssen die Möglichkeit von 3 Gewinnern von 10 finden.

10! / (10-3)! = 10! / 7! = 720

Wir haben also insgesamt 720 Möglichkeiten für diese 10 Autos, bei der Rennveranstaltung Erster, Zweiter, Dritter zu werden.

Python-Implementierung

Python ist eine hochrangige, interpretierte und universelle Programmiersprache, die sich auf die Lesbarkeit des Codes konzentriert, und die in der Python-Sprache verwendete Syntax hilft den Programmierern, die Codierung in weniger Schritten im Vergleich zu Java oder C++ abzuschließen, und sie basiert auf C.

Die Sprache wurde 1991 von dem Entwickler Guido Van Rossum gegründet . Python ist in größeren Organisationen weit verbreitet, da es hauptsächlich in verschiedenen Anwendungsfällen der künstlichen Intelligenz wie Computer Vision, Verarbeitung natürlicher Sprache, Deep Learning, Spracherkennung, Gesichtserkennung und Spracherkennung eingesetzt wird.

Python ist ein sehr leistungsfähiges Programmierwerkzeug und kann für eine Vielzahl von Anwendungsfällen im wirklichen Leben verwendet werden. Es bietet eine direkte Funktion, die die Fakultät einer bestimmten Zahl berechnen kann, ohne den Code explizit zu schreiben. Aber lassen Sie uns mit einem naiven Ansatz beginnen und endlich etwas über diese Funktion erfahren.

Lesen Sie auch: Warum Python bei Entwicklern so beliebt ist?

Für Schleife

Wir können die Fakultät einer Zahl berechnen, indem wir von Zahl 1 bis zur angegebenen Zahl iterieren, indem wir bei jedem Schritt multiplizieren. Lassen Sie uns in den Codierungsteil des oben diskutierten Ansatzes einsteigen.

Code

Zahl = Eingabe („Geben Sie eine Zahl ein:“) # Idealerweise können Sie eine beliebige Drucknachricht verwenden

Fakultät = 1

if int (Zahl) >=1: # Um zu prüfen, ob die angegebene Zahl positiv ist oder nicht.

for i in range (1, int(number)+1): # Schleife ab Nummer 1

Fakultät = Fakultät * I # Multiplikation mit jeder Zahl.

print (“Fakultät von “, Zahl, ” ist: “, Fakultät) # Gibt die berechnete Fakultät aus.

Ausgabe

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

Geben Sie eine Zahl ein: 5

Fakultät von 5 ist: 120

Rekursive Funktion

In diesem Fall erstellen wir unsere eigene benutzerdefinierte Funktion in Python, die uns hilft, die Fakultät einer bestimmten Zahl zu berechnen.

Code

Zahl = Eingabe („Geben Sie eine Zahl ein: “)

def recursive_factorial(number): # Benutzerdefinierte rekursive Funktion.

if number == 1: # Bedingung, wenn die angegebene Zahl gleich 1 ist

Rücksendenummer

elif Zahl < 1: # Bedingung, wenn angegebene Zahl kleiner als 1 ist

return („Die angegebene Zahl ist kleiner als eins und die Fakultät kann nicht berechnet werden.“)

anders:

Zahl zurückgeben*rekursiv_faktoriell(Zahl – 1)

print (recursive_factorial(int(number)))

Ausgabe

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

Geben Sie eine Zahl ein: 5

120

Geben Sie eine Zahl ein: -2

Die angegebene Zahl ist kleiner als eins und die Fakultät kann nicht berechnet werden

Geben Sie eine Zahl ein: 1

1

Fakultätsfunktion im Math-Paket

Python ist weithin bekannt für seine Benutzerfreundlichkeit und benutzerfreundliche Pakete von Drittanbietern, die viele Aufgaben vereinfachen. Im aktuellen Szenario ist Python die bevorzugte Sprache für Data Scientists.

Code

import math # Erforderliches Paket

number= input(“Geben Sie eine Zahl ein: “)

print("Die Fakultät von ", Zahl, " ist: ")

print(math.factorial(int(number))) # Funktion zur Berechnung der Fakultät

Ausgabe

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

Geben Sie eine Zahl ein: 5

Die Fakultät von 5 ist:

120

Geben Sie eine Zahl ein: 5.6

Traceback (letzter Aufruf zuletzt):

Die Fakultät von 5,6 ist:

Datei „C:/Users….py“, Zeile 5, in

print(math.faktoriell(int(zahl)))

ValueError : Ungültiges Literal für int() mit Basis 10: '5.6'

Wir erhalten einen Wertfehler, weil wir die Fakultät von Float Integer nicht berechnen können. Wenn wir den Python-Code explizit schreiben, müssen wir darauf achten, alle Bedingungen zu überprüfen und die relevante Nachricht auszugeben, aber in der Fakultätsfunktion des Math-Pakets in Python erledigt es alles für uns, was uns hilft, unseren Zeilencode zu verringern, wenn wir es haben Verwendung von Factorial in unserem Projekt oder einer Problemstellung.

Muss gelesen werden: Python-Tutorial

Fazit

In diesem Artikel haben wir die Bedeutung und Anwendung von Factorial und anderen wichtigen mathematischen Konzepten im wirklichen Leben kennengelernt. Die verschiedenen Arten von Code durchgegangen, um die Fakultät einer gegebenen Zahl zu berechnen. Dieser Artikel behandelt nur die Fakultät in Python, aber im MATH-Paket sind viele andere mathematische Berechnungen verfügbar. Leute, die neu bei Python sind, können einen tieferen Einblick in sie haben und sogar ein paar ausprobieren.

Wenn Sie neugierig sind, etwas über Data Science zu lernen, schauen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten, 1 -on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.

Was ist Rekursion in Python?

Rekursion in Python bedeutet, die Daten zu durchlaufen, um ein bestimmtes Ergebnis zu erzielen. Es ist ein bekannter mathematischer und Programmierprozess, bei dem etwas (eine Aussage oder eine Funktion) durch sich selbst definiert wird. Mit Hilfe der Rekursion können Benutzer oder Entwickler komplexe Codes und Funktionen in kleinere Unterteile aufteilen, und das Erstellen einer Sequenz wird viel einfacher. Ein Entwickler sollte bei der Verwendung von Rekursion besonders vorsichtig sein, da das Schreiben einer Funktion, die niemals beendet wird oder übermäßig viel Speicher oder CPU-Leistung verbraucht, ziemlich häufig ist. Bei richtiger Ausführung kann die Rekursion eine enorm effiziente und mathematisch innovative Art der Programmierung sein.

Wie lange dauert es, Python-Grundlagen zu lernen?

Python gilt als die einfachste Programmiersprache, daher ist das Erlernen der Grundlagen von Python einfach und nicht sehr zeitaufwändig. Studenten oder Berufstätige können sich 1-2 Monate Zeit nehmen, um die Grundlagen von Python zu erlernen. Ein Profi kann auch alle wesentlichen Python-Funktionen und -Bibliotheken innerhalb von 4-5 Monaten beherrschen, indem er täglich etwa 2-3 Stunden aufwendet. Python zu verstehen ist einfach, da die meisten Codes weniger Anweisungen haben und es mehr vordefinierte Funktionen gibt.

Wie hoch ist die zeitliche Komplexität des Fakultätsprogramms in Python?

Wir haben aus dem Fakultätsprogramm herausgefunden, dass Fakultät(0) einfach ein Vergleich (1 Zeiteinheit) und Fakultät(n) ein Vergleich, eine Multiplikation, eine Subtraktion und eine Zeit für Fakultät (n-1) ist. Wir können also sagen, dass T(n) = T(n – 1) + 3 und T(0) = 1. Wenn wir Werte setzen, stellen wir fest, dass T(N) direkt proportional zu n ist, wie in der Big-Oh-Notation zu sehen ist. Als Ergebnis ist die zeitliche Komplexität des faktoriellen Programms O(n).