Cum să găsiți factorii în Python [cu exemple de codare]

Publicat: 2020-11-30

Cuprins

Introducere

Fiecare dintre noi trebuie să fie familiarizat cu cuvântul factorial, deoarece cu toții am fost introduși în el în școala noastră primară la disciplina Matematică. Factorial este produsul tuturor numerelor întregi pozitive începând de la unu la numărul dat. Factorial este calculat numai pentru valori pozitive și nu poate fi calculat pentru tipurile Negative și Float.

M-am întrebat când învăț concepte factoriale și alte concepte matematice, unde le-aș folosi în viața mea reală, mulțumită științei datelor, deoarece am putut înțelege acum importanța tuturor componentelor matematice, cum ar fi algebra liniară, probabilitatea, statistica.

Să vedem importanța Factorialului, diferite moduri de a-l calcula folosind python în acest articol.

Importanţă

Să luăm un exemplu că avem o cursă între 10 mașini într-un eveniment mondial de curse și avem o declarație de problemă pentru a afla câte moduri în care acele 10 mașini vin pe primul loc, al doilea, al treilea. Deoarece există doar 10 mașini, am dori doar să luăm o hârtie și să notăm diferitele combinații. Dar ce se întâmplă dacă avem 100 de mașini sau mai multe evenimente și avem același tip de enunț de problemă sau similar în asta?

Pentru a aborda aceste tipuri de situații, avem ceva numit Permutare . Bănuiesc că ați fi conștienți de acest termen ca Permutări și Combinații în școala noastră primară. Acestea sunt foarte necesare dacă doriți să vă îmbunătățiți abilitățile de analiză a datelor și statistică. Dacă sunteți începător și doriți să aflați mai multe despre știința datelor, consultați cursurile noastre de știință a datelor de la universități de top. Acest lucru ajută la rezolvarea enunțului problemei, așa cum este menționat mai jos.

Soluţie

Avem în total 10 mașini.

Trebuie să găsim posibilitatea a 3 câștigători din 10.

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

Deci, avem un total de 720 de posibilități pentru ca aceste 10 mașini să ajungă pe primul loc, al doilea, al treilea în cursa.

Implementarea Python

Python este un limbaj de programare de nivel înalt, interpretat și de uz general, care se concentrează pe lizibilitatea codului și pe sintaxa folosită în limbajul Python îi ajută pe programatori să finalizeze codarea în mai puțini pași în comparație cu Java sau C++ și este construit pe C.

Limbajul a fost fondat în 1991 de către dezvoltatorul Guido Van Rossum . Python este utilizat pe scară largă în organizațiile mai mari, deoarece în principal în diverse cazuri de utilizare a inteligenței artificiale, cum ar fi Viziunea pe computer, Procesarea limbajului natural, Învățarea profundă, Recunoașterea vorbirii, Recunoașterea feței, Recunoașterea vocii.

Python este un instrument de programare foarte puternic și poate fi folosit pentru o mare varietate de cazuri de utilizare în viața reală. Oferă o funcție directă care poate calcula factorialul unui număr dat fără a scrie codul în mod explicit. Dar să începem cu o abordare naivă și, în sfârșit, să cunoaștem această funcție.

Citește și: De ce Python este atât de popular printre dezvoltatori?

Pentru Loop

Putem calcula factorialul unui număr iterând de la numărul 1 până la numărul dat prin înmulțirea la fiecare pas. Să trecem la partea de codificare a abordării discutate mai sus.

Cod

număr = introducere („Introduceți un număr:”) # În mod ideal, puteți utiliza orice mesaj tipărit

factorial = 1

if int (număr) >=1: # Pentru a verifica dacă numărul dat este pozitiv sau nu.

pentru i în intervalul (1, int(număr)+1): # Buclă de la numărul 1

factorial = factorial * I # Înmulțirea cu fiecare număr.

tipăriți („Factorialul de „, număr, ” este: „, factorial) # Imprimați factorialul calculat.

Ieșire

Rularea codului de mai sus vă va oferi rezultatul de mai jos:

Introduceți un număr :5

Factorul de 5 este: 120

Functie recursiva

În acest caz, vom crea propria noastră funcție definită de utilizator în python, care ne va ajuta să calculăm factorialul unui număr dat.

Cod

număr = introducere („Introduceți un număr:”)

def recursive_factorial(number): # Funcție recursivă definită de utilizator.

if number == 1: # Condiție dacă numărul dat este egal cu 1

numărul de returnare

elif number < 1: # Condiție dacă numărul dat este mai mic decât 1

return („Numărul dat este mai mic decât unu și factorialul nu poate fi calculat.”)

altceva:

return number*recursive_factorial(numar – 1)

print (factorial_recursiv(int(numar)))

Ieșire

Rularea codului de mai sus vă va oferi rezultatul de mai jos:

Introduceți un număr: 5

120

Introduceți un număr: -2

Numărul dat este mai mic decât unu și factorialul nu poate fi calculat

Introduceți un număr: 1

1

Funcția factorială în pachetul matematic

Python este cunoscut pe scară largă pentru ușurința în utilizare și pachetele terțe ușor de utilizat, care vor simplifica multe sarcini. În scenariul actual, Python este limbajul de bază pentru cercetătorii de date.

Cod

import matematică # Pachetul necesar

număr= input(„Introduceți un număr: “)

print(„Factorialul „, număr,” este : “)

print(math.factorial(int(number))) # Funcție pentru calcularea factorialului

Ieșire

Rularea codului de mai sus vă va oferi rezultatul de mai jos:

Introduceți un număr: 5

Factorialul lui 5 este:

120

Introduceți un număr: 5.6

Traceback (cel mai recent apel ultimul):

Factorialul de 5,6 este:

Fișierul „C:/Utilizatori….py”, rândul 5, în

print(math.factorial(int(number)))

ValueError : literal invalid pentru int() cu baza 10: „5.6”

Primim o eroare de valoare deoarece nu putem calcula Factorialul întregului float. Când scriem în mod explicit codul Python, trebuie să avem grijă să verificăm toate condițiile și să trimitem mesajul relevant, dar în funcția factorială a pachetului Math din Python face totul pentru noi, ceea ce ne ajută să ne reducem codul de linii atunci când avem utilizarea Factorialului în proiectul nostru sau orice declarație de problemă.

Trebuie citit: Tutorial Python

Concluzie

În acest articol am ajuns să cunoaștem importanța și aplicarea Factorialului și a altor concepte matematice importante în viața reală. Am parcurs diferitele tipuri de cod pentru a calcula Factorialul unui număr dat. Acest articol acoperă doar Factorialul în Python, dar există multe alte calcule matematice disponibile în pachetul MATH. Oamenii nou la Python pot avea o privire mai profundă asupra lor și pot chiar încerca câteva.

Dacă sunteți curios să aflați despre știința datelor, consultați programul Executive PG în știința datelor de la IIIT-B și upGrad, care este creat pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1 -on-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.

Ce este recursiunea în Python?

Recursiunea în Python înseamnă trecerea în buclă a datelor pentru a ajunge la un rezultat cert. Este un proces matematic și de programare bine-cunoscut în care ceva (o declarație sau o funcție) este definit în termeni de sine. Cu ajutorul recursiunii, utilizatorii sau dezvoltatorii pot împărți codurile și funcțiile complexe în subpărți mai mici, iar crearea unei secvențe devine mult mai accesibilă. Un dezvoltator ar trebui să aibă grijă suplimentară atunci când folosește recursiunea, deoarece scrierea unei funcții care nu se termină niciodată sau care consumă cantități excesive de memorie sau putere CPU este destul de frecventă. Când este făcută corect, recursiunea poate fi o modalitate extrem de eficientă și inovatoare din punct de vedere matematic de a programa.

Cât timp durează să înveți noțiunile de bază Python?

Python este considerat cel mai simplu limbaj de programare, așa că învățarea elementelor de bază ale Python este ușoară și nu necesită foarte mult timp. Studenții sau profesioniștii pot dedica 1-2 luni pentru a învăța elementele de bază ale Python. Un profesionist poate, de asemenea, să stăpânească toate funcțiile și bibliotecile esențiale Python în decurs de 4-5 luni, dedicând aproximativ 2-3 ore în fiecare zi. Înțelegerea Python este ușor, deoarece majoritatea codurilor au instrucțiuni mai puține și există mai multe funcții predefinite.

Care este complexitatea de timp a programului factorial în Python?

Din programul factorial am descoperit că factorial(0) este pur și simplu o comparație (1 unitate de timp) și factorial(n) este o comparație, o înmulțire, o scădere și timp pentru factorial (n-1). Deci putem spune că T(n) = T(n — 1) + 3 și T(0) = 1. Punând valori, constatăm că T(N) este direct proporțional cu n, așa cum se vede în notația Big-Oh. Ca urmare, complexitatea temporală a programului factorial este O(n).