Skrive fabrikkprogrammet i Python

Skrive fabrikkprogrammet i Python
Fabrikken for et tall er tallet du får etter å ha multipliserer alle tall fra 1 til det tallet. Fabrikken til et tall er betegnet med '!'Symbol. For eksempel, hvis vi ønsker å finne ut faktorialen til 4, betegnet 4!, da ville resultatet være 1x2x3x4 = 24. Det er mange måter å finne ut fakta til et tall. Faktoriell kan bestemmes i Python ved å bruke den innebygde funksjonen for loop og rekursive funksjoner. Denne opplæringen viser hvordan faktorialen av et tall kan bestemmes ved bruk av forskjellige funksjoner av Python.

Eksempel 1: Finn faktorialen til et tall ved å bruke den innebygde funksjonen

Python har en innebygd funksjon som heter Factorial () under matte modul. Følgende skript beregner faktorialet til et hvilket som helst tall ved hjelp av en innebygd Factorial () funksjon. I dette skriptet vil ethvert gyldig heltallnummer bli tatt som inngang.

#!/usr/bin/env python3
# Importer matemodul
Importer matematikk
# Ta noen tallverdier
n = int (input ("Angi hvilket som helst tall:"))
# Finn ut fabrikken
Fakta = matematikk.Factorial (N)
# Skriv ut resultatet av fabrikken
PRINT ("Faktorialen av %D er %D" %(N, FAKT))

Produksjon

Etter å ha kjørt skriptet, er 3 gitt som inngangsnummer og utgangen på 3!, 6, er trykt.

Eksempel 2: Finn faktorialen til et tall ved hjelp av loopen

Følgende skript viser hvordan du kan beregne faktorialen av noe tall uten å bruke noen innebygd funksjon i Python. Her, The til Loop brukes til å beregne faktorialen til et tall. Enhver inngangsverdi vil bli tatt og lagret som variabelen som er navngitt n. En variabel navngitt faktum brukes til å lagre det faktiske resultatet og initialiseres til 1 før du går inn i løkken. Hvis verdien av n er mer enn en eller lik en, da vil sløyfen iterere for 1 til n+1 ganger og vil beregne faktorverdien. Ellers vil sløyfen sjekke om verdien av n er lik 0 eller negativ. Hvis verdien av n er 0, vil fabrikkresultatet være 1; Og hvis verdien av n er et negativt heltall, vil en feilmelding bli skrevet ut.

#!/usr/bin/env python3
# Ta en numerisk verdi og lagre i n
n = int (input ("Angi hvilket som helst tall:"))
# Initialiser variabelen
Fakta = 1
# Finn ut det faktiske hvis inngangsnummeret er mer enn 0
Hvis n> = 1:
# Iterere løkken til flere tall innen 1 til n
for i i rekkevidde (1, n+1):
faktum = faktum * i
# Skriv ut det fcatoriale resultatet
utskrift ("Faktorialet av %d er %d." %(n, faktum)))
ellers:
Hvis n == 0:
# Skriv ut resultatet av 0!
trykk ("Faktorialen", n, "er")
ellers:
# Skriv ut feilmeldingen
trykk ("Du må oppgi et hvilket som helst positivt nummer")

Produksjon

Skriptet utføres tre ganger, i henhold til følgende skjermbilde. Skriptet utføres for inngangsverdiene 1, 6 og -8. Utgangene vises i henhold til inngangsverdiene.

Eksempel 3: Finn faktorialen til et tall ved å bruke den rekursive funksjonen

Funksjonen som kaller seg under utførelse av funksjonen kalles den rekursive funksjonen. Følgende skript viser måten å beregne faktorialen til ethvert heltallnummer ved hjelp av en rekursiv funksjon. Etter å ha tatt heltallnummeret som inngang, den rekursive funksjonen factorial_resursive () vil bli kalt, med inngangsverdien som et argument. Hvis inngangsverdien er 0 eller 1, blir 1 returnert. Hvis inngangsverdien er negativ, vil argumentverdien bli returnert. Hvis inngangsverdien er mer enn 1, vil funksjonen kalle seg ved å trekke fra argumentet med 1 igjen og igjen til det beregner resultatet av fabrikken.

#!/usr/bin/env python3
# Ta en numerisk verdi
nummer = int (input ("Angi hvilket som helst nummer:"))
# Definer den rekursive funksjonen for å beregne factorial
def factorial_recursive (n):
# Lagre det faktoriske resultatet av 0 og 1
Hvis n == 0 eller n == 1:
Resultat = 1
# Lagre inngangsnummeret for negetive verdi
elif n < 1:
Resultat = n
# Finn det faktoriske resultatet på rekursiv måte
ellers:
Resultat = n*factorial_recursive (n-1)
# Returner resultatet
Returresultat
# Ring funksjonen
FAKT = FACTORIAL_RECURSIVE (nummer)
# Skriv ut resultatet for positivt tall
Hvis fakta> = 0:
utskrift ("Faktorialet av %d er %d." %(antall, faktum)))
ellers:
# Skriv ut meldingen for negativt nummer
trykk ("Du må oppgi et hvilket som helst positivt nummer")

Produksjon

I det følgende skjermbildet utføres skriptet tre ganger med verdiene 1, -5 og 8.

Eksempel 4: Finn fabrikken til et tall med unntakshåndtering

Ovennevnte tre skript sjekker bare om tallet er positivt eller negativt. Følgende skript beregner fabrikken via en innebygd factorial () -funksjon med unntakshåndtering. Hvis brukeren gir noen inngang uten heltallverdi, vil et unntak bli generert, og en feilmelding vil bli skrevet ut.

#!/usr/bin/env python3
# Importer matemodul
Importer matematikk
# Defie prøveblokken
prøve:
# Ta en numerisk verdi
n = int (input ("Angi hvilket som helst tall:"))
Hvis n> = 0:
# Finn ut fabrikken
Fakta = matematikk.Factorial (N)
# Skriv ut resultatet av fabrikken
PRINT ("Faktorialen av %D er %D" %(N, FAKT))
ellers:
# Heve unntaket hvis antallet er negativt
Hev unntak ("Du må oppgi et hvilket som helst positivt nummer")
# Skriv ut feilmeldingen for brøkinngang
unntatt ValueError:
trykk ("Du må oppgi heltallnummer")
# Skriv ut feilmelding for negativ inngang
unntatt unntak som e:
Print ('Feil: %S' %E)

Produksjon

Skriptet utføres tre ganger med verdiene H, -3 og 7 i følgende skjermbilde. Her genereres unntaket for verdien, 'h.'

Konklusjon

Denne opplæringen viser noen av de forskjellige måtene du kan beregne faktorverdien til et tall i Python. Konseptet med fabrikken for et tall og Python-baserte metoder for beregning av fabrikken bør være tydelig for leseren etter å ha lest denne opplæringen.