Python Ohjelma luvun kertoimen löytämiseksi
⚡ Älykäs yhteenveto
Luvun kertoma Python on kaikkien positiivisten kokonaislukujen tulo tähän lukuun asti. Python laskee sen for-silmukalla, if-else-tarkistuksella, rekursiolla tai sisäänrakennetulla math.factorial()-funktiolla.
Seuraavissa osioissa näytetään neljä tapaa laskea kertoma Python — for-silmukka, if-else-versio, rekursio ja math.factorial() — sekä taustalla oleva algoritmi ja sovellukset.
Luvun kertoimia käyttämällä silmukkaa
Otetaan esimerkiksi Python koodi, joka ottaa syötteenä positiivisen kokonaisluvun positiivisten kokonaislukujen kertoman määrittämiseksi. Seuraavassa koodissa silmukka alkaa ykkösellä ja kertoo sitten jokaisella luvulla, joka edeltää varsinaista lukua, jonka kertoma määritetään.
Seuraavat Python koodi havainnollistaa kertomafunktiota silmukan avulla.
Python koodi:
print ("Input a number") factorialIP = int (input ()) ffactor23 = 1 for j in range (1, factorialIP+1): ffactor23 = ffactor23 * j print ("The factorial of the number is “, ffactor23)
lähtö:
Input a number
4
The factorial of the number is 24
Ylempi Python Ohjelma ottaa syötteeksi vain positiivisia lukuja, eikä siinä ole negatiivisten lukujen tarkistusta. Tässä ohjelmassa tekijä on 1, kun j on yhtä suuri kuin 1. Kun j on 2, tekijä kerrotaan kahdella, ja se suorittaa toiminnon, kunnes j saavuttaa luvun 4, jolloin saadaan luku 24.
Lukujen kertoimia käyttämällä IF…else-lausetta
Seuraavat Python koodi havainnollistaa kertomafunktiota funktion avulla. Toisin kuin silmukkaversio, tämä ohjelma tarkistaa myös negatiiviset luvut ennen kertoman laskemista.
Edellisessä Python koodissa negatiivisten lukujen tarkistusta ei käytetty, minkä vuoksi kertomafunktio oli epätäydellinen ja altis virheilmoituksen antamiselle, jos syötteenä annetaan negatiivisia lukuja.
Annetussa koodissa silmukka alkaa ykkösellä ja kertoo sen jokaisella edeltävällä luvulla, ja funktio tarkistaa myös negatiivisten lukujen varalta syötteen.
Python koodi:
print("Enter a number for the purpose of determining factorial") factorialIP = int(input()) def factorial(factorialIP): if factorialIP < 0: print ('Factorial does not exist') factor=0 return factor elif factorialIP == 0: factor=1 return factor print(factor) else: factor = 1 for j in range (1, factorialIP+1): factor = factor * j return factor print ("The factorial of the number is ", factorial(factorialIP))
lähtö:
1) Enter a number to determine factorial -4 Factorial does not exist The factorial of the number is 0 2) Enter a number to determine factorial 4 Factorial does not exist The factorial of the number is 24
Tämä Python Ohjelma hyväksyy positiiviset luvut ja lisää tarkistuksen negatiivisille luvuille käyttämällä if- ja else-lausekkeita, palauttaen oikein luvun 24, jos syöte on 4.
Lukujen kertoimia käyttämällä rekursiota
Seuraavat Python koodi havainnollistaa kertomafunktiota rekursiolla. Tässä esimerkissä rekursiivinen funktio, joka ottaa syötteeksi positiivisen kokonaisluvun, määrittää kertomaluvun.
Python koodi:
print("Enter a number for the purpose of determining factorial") def factorial(num2): if num2 < 0: return 'Factorial does not exist' elif num2 == 0: return 1 else: return num2 * factorial(num2-1) number1 = int(input()) print("The factorial of the number is",factorial(number1))
lähtö:
Enter a number for the purpose of determining factorial 4 The factorial of the number is 24
Rekursio voidaan selittää käsitteenä, jossa funktio, jota kutsutaan Python moduuli voi kutsua itseään yhä uudelleen ja uudelleen. Se toimii, kunnes Python moduulissa oleva ehto täyttyy, jolloin kutsutulle funktiolle annetaan arvo.
Edellä Python ohjelmassa funktio def factorial kutsuu itseään rekursiivisesti, kunnes luku saavuttaa nollan ja ellei se saavuta nollaa. Kun luku saavuttaa nollan, se alustaa luvun arvoksi 1, mikä lopettaa rekursion.
Luvun kertoma käyttäen math.factorial()-funktiota
Seuraavat Python koodi havainnollistaa kertomafunktiota käyttämällä math.factorial()-funktiota, jota voidaan käyttää tuomalla math-moduuli.
Tämä funktio ei hyväksy negatiivisia kokonaislukuja ja se heittää arvovirheen, kun annetaan liukulukuja.
Python koodi:
print("Enter a number for computing factorial") import math number1 = int(input()) print("The factorial is as computed comes out to be ") print(math.factorial(number1))
lähtö:
Enter a number for computing factorial 4 The factorial, as computed, comes out to be 24
Factorial-ohjelman algoritmi sisään Python
Otetaan esimerkki, joka valaisee faktoriaalin käsitettä.
Kertomuksen 5 määrittämiseksi toimi seuraavasti:
5! = 5 x (5-1) x (5-2) x (5-3) x (5-4) 5! =120
Tässä, 5! ilmaistaan 120:na.
Seuraava kaavio auttaa ymmärtämään faktoriaalin laskenta-algoritmia, ja tässä tapauksessa otetaan esimerkki faktoriaalista 4!
Algoritmi cum kuvallinen esimerkki faktoriaalista 4!
Factorialin käyttö Python
Lukujen kertoimella on laaja sovellustaso matematiikassa. Tässä on tärkeitä sovelluksia Python:
- Python auttaa laskennassa, ja sitä seuraa kertomien tulostus nopeammin ja tehokkaammin kuin muilla saatavilla olevilla ohjelmointikielillä.
- Python koodi on helposti ymmärrettävää ja sitä voidaan kopioida eri alustoille, ja faktoriaali Python ohjelma voidaan sisällyttää useisiin matemaattisten mallien rakentamiseen liittyviin tehtäviin.


