Come trovare fattoriale in Python [con esempi di codifica]
Pubblicato: 2020-11-30Sommario
introduzione
Ognuno di noi deve avere familiarità con la parola fattoriale poiché tutti ci siamo stati introdotti nella nostra scuola elementare in materia di matematica. Il fattoriale è il prodotto di tutti gli interi positivi a partire da uno fino al numero dato. Fattoriale viene calcolato solo per valori positivi e non può essere calcolato per tipi Negativo e Mobile.
Mi chiedevo quando stavo imparando i fattori fattoriali e altri concetti matematici dove li avrei usati nella mia vita reale, grazie a Data Science in quanto sono stato in grado di capire ora l'importanza di tutte le componenti matematiche come Algebra lineare, Probabilità, Statistica.
Vediamo l'importanza del fattoriale, diversi modi per calcolarlo usando Python in questo articolo.
Importanza
Prendiamo un esempio che abbiamo una gara tra 10 auto in un evento di corsa mondiale, e abbiamo una dichiarazione del problema per scoprire in quanti modi quelle 10 auto arrivano prima, seconda, terza. Dato che ci sono solo 10 auto, vorremmo solo prendere un foglio e annotare le varie combinazioni. Ma cosa succede se abbiamo 100 auto o più eventi e abbiamo lo stesso tipo di problema o simile?
Per affrontare questo tipo di situazioni, abbiamo qualcosa chiamato Permutazione . Immagino che saresti a conoscenza di questo termine come Permutazioni e Combinazioni nella nostra scuola elementare. Questi sono molto necessari se vuoi migliorare le tue capacità di analisi dei dati e statistiche. Se sei un principiante e sei interessato a saperne di più sulla scienza dei dati, dai un'occhiata ai nostri corsi di scienza dei dati delle migliori università. Questo aiuta a risolvere la dichiarazione del problema come indicato di seguito.
Soluzione
Abbiamo un totale di 10 auto.
Dobbiamo trovare la possibilità di 3 vincitori su 10.
10! / (10-3)! = 10! / 7! = 720
Quindi, abbiamo un totale di 720 possibilità per queste 10 auto di arrivare prime, seconde e terze nell'evento di gara.
Implementazione Python
Python è un linguaggio di programmazione di alto livello, interpretato e generico che si concentra sulla leggibilità del codice e la sintassi utilizzata in Python Language aiuta i programmatori a completare la codifica in meno passaggi rispetto a Java o C++ ed è basato su C.
Il linguaggio è stato fondato nel 1991 dallo sviluppatore Guido Van Rossum . Python è ampiamente utilizzato nelle organizzazioni più grandi perché principalmente in vari casi d'uso di Intelligenza Artificiale come Computer Vision, Natural Language Processing, Deep Learning, Speech Recognition, Face Recognition, Voice Recognition.
Python è uno strumento di programmazione molto potente e può essere utilizzato per un'ampia varietà di casi d'uso nella vita reale. Offre una funzione diretta in grado di calcolare il fattoriale di un dato numero senza scrivere il codice in modo esplicito. Ma iniziamo con un approccio ingenuo e finalmente conosciamo questa funzione.
Leggi anche: Perché Python è così popolare tra gli sviluppatori?
Per Loop
Possiamo calcolare il fattoriale di un numero iterando dal numero 1 fino al numero dato moltiplicando ad ogni passaggio. Passiamo alla parte di codifica dell'approccio sopra discusso.
Codice
numero = input ("Inserisci un numero:") # Idealmente puoi usare qualsiasi messaggio di stampa
fattoriale = 1
if int (numero) >=1: # Per verificare se il numero dato è positivo o meno.
for i nell'intervallo (1, int(numero)+1): # Ciclo dal numero 1
fattoriale = fattoriale * I # Moltiplicazione per ogni numero.
print (“Fattoriale di “, numero, ” è: “, fattoriale) # Stampa il fattoriale calcolato.
Produzione
L'esecuzione del codice sopra ti darà l'output seguente:
Inserisci un numero :5
Il fattoriale di 5 è: 120
Funzione ricorsiva
In questo caso creeremo la nostra funzione definita dall'utente in Python che ci aiuterà a calcolare il fattoriale di un dato numero.
Codice
numero = input ("Inserisci un numero:")

def ricorsivo_fattoriale(numero): # Funzione ricorsiva definita dall'utente.
if number == 1: # Condizione se il numero dato è uguale a 1
numero di ritorno
numero elif < 1: # Condizione se il numero specificato è minore di 1
ritorno ("Il numero dato è minore di uno e il fattoriale non può essere calcolato.")
altro:
numero restituito*fattoriale_ricorsivo(numero – 1)
print (ricorsivo_fattoriale(int(numero)))
Produzione
L'esecuzione del codice sopra ti darà l'output seguente:
Inserisci un numero: 5
120
Immettere un numero: -2
Il numero dato è minore di uno e il fattoriale non può essere calcolato
Inserisci un numero: 1
1
Funzione fattoriale in Math Package
Python è ampiamente noto per la sua facilità d'uso e per i pacchetti di terze parti intuitivi che semplificheranno molte attività. Nello scenario attuale Python è il linguaggio di riferimento per i data scientist.
Codice
import math # Pacchetto richiesto
numero= input("Inserisci un numero: ")
print("Il fattoriale di ", numero, " è : ")
print(math.factorial(int(numero))) # Funzione per calcolare il fattoriale
Produzione
L'esecuzione del codice sopra ti darà l'output seguente:
Inserisci un numero: 5
Il fattoriale di 5 è:
120
Inserisci un numero: 5.6
Tracciamento (ultima chiamata più recente):
Il fattoriale di 5.6 è:
File “C:/Utenti….py”, riga 5, in
print(math.factorial(int(numero)))
ValueError : valore letterale non valido per int() con base 10: '5.6'
Stiamo ottenendo un errore di valore perché non possiamo calcolare il fattoriale dell'intero float. Quando scriviamo esplicitamente il codice python dobbiamo fare attenzione a controllare tutte le condizioni e produrre il messaggio pertinente, ma nella funzione fattoriale del pacchetto Math in python fa tutto per noi che ci aiuta a diminuire il nostro codice di linee quando abbiamo utilizzo di Factorial nel nostro progetto o qualsiasi dichiarazione di problema.
Da leggere: Tutorial Python
Conclusione
In questo articolo abbiamo avuto modo di conoscere l'importanza e l'applicazione del fattoriale e di altri importanti concetti matematici nella vita reale. Sono passati attraverso i diversi tipi di codice per calcolare il Fattoriale di un dato numero. Questo articolo copre solo il fattoriale in Python, ma ci sono molti altri calcoli matematici disponibili nel pacchetto MATH. Le persone che non conoscono Python possono esaminarle più a fondo e persino provarne alcune.
Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al programma Executive PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 -on-1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.
Che cos'è la ricorsione in Python?
La ricorsione in Python significa scorrere i dati per raggiungere un risultato definito. È un noto processo matematico e di programmazione in cui qualcosa (un'istruzione o una funzione) è definita in termini di se stessa. Con l'aiuto della ricorsione, gli utenti o gli sviluppatori possono dividere codici e funzioni complessi in sottoparti più piccole e la creazione di una sequenza diventa molto più accessibile. Uno sviluppatore dovrebbe prestare particolare attenzione quando utilizza la ricorsione poiché la scrittura di una funzione che non termina mai o consuma quantità eccessive di memoria o potenza della CPU è abbastanza frequente. Se eseguita correttamente, la ricorsione può essere un modo estremamente efficiente e matematicamente innovativo di programmare.
Quanto tempo ci vuole per imparare le basi di Python?
Python è considerato il linguaggio di programmazione più semplice, quindi imparare le basi di Python è facile e non richiede molto tempo. Studenti o professionisti possono dedicare 1-2 mesi all'apprendimento delle basi di Python. Un professionista può anche padroneggiare tutte le funzioni e le librerie essenziali di Python in 4-5 mesi dedicando circa 2-3 ore al giorno. Comprendere Python è facile poiché la maggior parte dei codici ha istruzioni minori e ci sono più funzioni predefinite.
Qual è la complessità temporale del programma fattoriale in Python?
Abbiamo scoperto dal programma fattoriale che fattoriale(0) è semplicemente un confronto (1 unità di tempo) e fattoriale(n) è un confronto, una moltiplicazione, una sottrazione e il tempo per fattoriale (n-1). Quindi possiamo dire che T(n) = T(n — 1) + 3 e T(0) = 1. Mettendo dei valori, troviamo che T(N) è direttamente proporzionale a n, come si vede nella notazione Big-Oh. Di conseguenza, la complessità temporale del programma fattoriale è O(n).