Skrivning af Factorial -programmet i Python

Writing Factorial Program Python



Faktoriet for et tal er det tal, du får efter at have multipliceret alle tal fra 1 til det tal. Fakturering af et tal er betegnet med '!' Symbolet. For eksempel, hvis vi vil finde ud af faktorien 4, betegnet 4 !, så ville resultatet være 1x2x3x4 = 24. Der er mange måder at finde ud af faktorialet for et tal. Factorial kan bestemmes i Python ved hjælp af den indbyggede funktion til loop og rekursive funktioner. Denne vejledning viser, hvordan factorial af et tal kan bestemmes ved hjælp af forskellige funktioner i Python.

Eksempel 1: Find faktorialet for et tal ved hjælp af den indbyggede funktion

Python har en indbygget funktion navngivet factorial () under matematik modul. Følgende script beregner fabrikken for et hvilket som helst tal ved hjælp af en indbygget factorial () fungere. I dette script vil ethvert gyldigt heltal blive taget som input, og funktionen beregner faktorens værdi for dette nummer og udskriver faktorværdien af ​​inputnummeret.







#!/usr/bin/env python3
# Importer matematikmodul
importere matematik
# Tag eventuelle talværdier
n= int(input('Indtast et vilkårligt nummer:'))
# Find ud af faktoren
faktum= matematik.faktoriel(n)
# Udskriv resultatet af fabrikken
Print('Faktoren for %d er %d'%(n,faktum))

Produktion



Efter at scriptet er kørt, angives 3 som inputnummer, og output på 3 !, 6 udskrives.







Eksempel 2: Find faktorialet for et tal ved hjælp af sløjfen

Følgende script viser, hvordan du kan beregne factorial for ethvert tal uden at bruge nogen indbygget funktion i Python. Her er til loop bruges til at beregne factorial af et tal. En hvilken som helst input -helværdi vil blive taget og gemt som den navngivne variabel n . En variabel navngivet faktum bruges til at gemme det faktoriske resultat og initialiseres til 1, før det går ind i sløjfen. Hvis værdien af n er mere end en eller lig med én, så gentages sløjfen 1 til n+1 gange og beregner faktorværdien. Ellers vil sløjfen kontrollere, om værdien af ​​n er lig med 0 eller negativ. Hvis værdien af ​​n er 0, vil det faktorielle resultat være 1; og hvis værdien af ​​n er et negativt heltal, udskrives en fejlmeddelelse.

#!/usr/bin/env python3

# Tag en numerisk værdi, og gem i n
n= int(input('Indtast et vilkårligt nummer:'))
# Initialiser variablen
faktum= 1
# Find ud af fabrikken, hvis inputnummeret er mere end 0
hvisn> = 1:
# Iterer sløjfen til flere tal inden for 1 til n
tiljegi rækkevidde (1,n+1):
faktum=fakta * i
# Udskriv det fcatoriale resultat
Print('Faktoren for %d er %d.'%(n,faktum))
andet:
hvisn== 0:
# Udskriv resultatet af 0!
Print('Faktoren af',n, 'er')
andet:
# Udskriv fejlmeddelelsen
Print('Du skal indtaste et positivt tal')

Produktion



Scriptet udføres tre gange i henhold til følgende skærmbillede. Scriptet udføres for inputværdierne 1, 6 og -8. Udgangene vises i henhold til inputværdierne.

Eksempel 3: Find faktorialet for et tal ved hjælp af den rekursive funktion

Funktionen, der kalder sig selv under udførelsen af ​​funktionen, kaldes den rekursive funktion. Det følgende script viser måden at beregne factorial for ethvert helt tal ved hjælp af en rekursiv funktion. Efter at have taget heltalet som input, er den rekursive funktion factorial_resursive () vil blive kaldt, med inputværdien som et argument. Hvis inputværdien er 0 eller 1, returneres 1. Hvis inputværdien er negativ, returneres argumentværdien. Hvis inputværdien er mere end 1, kalder funktionen sig selv ved at trække argumentet med 1 igen og igen, indtil det beregner resultatet af faktorien.

#!/usr/bin/env python3
# Tag en numerisk værdi
nummer= int(input('Indtast et vilkårligt nummer:'))
# Definer den rekursive funktion for at beregne factorial
deffactorial_recursive(n):
# Gem det faktoriske resultat af 0 og 1
hvisn== 0 ellern== 1:
resultat= 1
# Gem inputnummeret for negativ værdi
elifn< 1:
resultat=n
# Find det faktorielle resultat på rekursiv måde
andet:
resultat=n*factorial_recursive(n-1)
# Returner resultatet
Vend tilbageresultat
# Ring til funktionen
faktum=factorial_recursive(nummer)
# Udskriv resultatet for positivt tal
hvisfaktum> = 0:
Print('Faktoren for %d er %d.'%(nummer,faktum))
andet:
# Udskriv meddelelsen for det negative nummer
Print('Du skal indtaste et positivt tal')

Produktion

I det følgende skærmbillede udføres scriptet tre gange med værdierne 1, -5 og 8.

Eksempel 4: Find fabrikken for et tal med undtagelseshåndtering

Ovenstående tre scripts kontrollerer kun, om tallet er positivt eller negativt. Følgende script beregner factorial via en indbygget factorial () -funktion med undtagelseshåndtering. Hvis brugeren angiver input uden en heltalsværdi, genereres en undtagelse, og en fejlmeddelelse udskrives.

#!/usr/bin/env python3
# Importer matematikmodul
importere matematik
# Defie prøveblokken
prøve:
# Tag en numerisk værdi
n= int(input('Indtast et vilkårligt nummer:'))
hvisn> = 0:
# Find ud af faktoren
faktum= matematik.faktoriel(n)
# Udskriv resultatet af fabrikken
Print('Faktoren for %d er %d'%(n,faktum))
andet:
# Hæv undtagelsen, hvis tallet er negativt
hæve Undtagelse('Du skal indtaste et positivt tal')
# udskriv fejlmeddelelsen for fraktioneret input
undtagen ValueError:
Print('Du skal indtaste heltal')
# Udskriv fejlmeddelelse for negativ input
undtagen Undtagelse somOg:
Print('Fejl:%s'%Og)

Produktion

Scriptet udføres tre gange med værdierne h, -3 og 7 i det følgende skærmbillede. Her genereres undtagelsen for værdien 'h.'

Konklusion

Denne vejledning viser nogle af de forskellige måder, du kan beregne faktorværdien af ​​et tal i Python. Begrebet factorial of a number og Python-baserede metoder til beregning af factorial bør være klart for læseren efter at have læst denne tutorial.