Skriver Factorial -programmet i Python

Writing Factorial Program Python



Faktoren til et tall er tallet du får etter å ha multiplisert alle tallene fra 1 til det tallet. Faktoren til et tall er betegnet med symbolet ‘!’. For eksempel, hvis vi vil finne ut fabrikken til 4, betegnet 4 !, så vil resultatet være 1x2x3x4 = 24. Det er mange måter å finne ut faktoren til et tall. Factorial kan bestemmes i Python ved hjelp av den innebygde funksjonen for loop og rekursive funksjoner. Denne opplæringen viser hvordan faktoren til et tall kan bestemmes ved hjelp av forskjellige funksjoner i Python.

Eksempel 1: Finn fabrikken til et tall ved hjelp av den innebygde funksjonen

Python har en innebygd funksjon som heter factorial () under matte modul. Følgende skript beregner faktoren til et hvilket som helst tall ved hjelp av en innebygd factorial () funksjon. I dette skriptet vil ethvert gyldig heltall bli tatt som inndata, og funksjonen vil beregne fabrikkverdien til dette tallet og skrive ut fabrikkverdien til inngangstallet.







#!/usr/bin/env python3
# Importer matematikkmodul
import matte
# Ta noen tallverdier
n= int(input('Skriv inn et hvilket som helst nummer:'))
# Finn ut faktoren
faktum= matte.Faktorisk(n)
# Skriv ut resultatet av fabrikken
skrive ut('Faktoren til %d er %d'%(n,faktum))

Produksjon



Etter å ha kjørt skriptet, blir 3 gitt som inndatatall og utdataet på 3 !, 6, blir skrevet ut.







Eksempel 2: Finn faktoren til et tall ved hjelp av løkken

Følgende skript viser hvordan du kan beregne faktoren til et hvilket som helst tall uten å bruke noen innebygd funksjon i Python. Her, den til loop brukes til å beregne faktoren til et tall. En hvilken som helst inndata heltall vil bli tatt og lagret som variabelen navngitt n . En variabel som heter faktum brukes til å lagre det faktoriske 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, så vil løkken iterere 1 til n+1 ganger og beregne faktorverdi. Ellers vil sløyfen sjekke om verdien av n er lik 0 eller negativ. Hvis verdien av n er 0, vil det faktoriske resultatet være 1; og hvis verdien av n er et negativt heltall, skrives det ut en feilmelding.

#!/usr/bin/env python3

# Ta en numerisk verdi og lagre i n
n= int(input('Skriv inn et hvilket som helst nummer:'))
# Initialiser variabelen
faktum= 1
# Finn ut fabrikken hvis inndatatallet er mer enn 0
hvisn> = 1:
# Iterer løkken til flere tall innen 1 til n
tilJegi område (1,n+1):
faktum=faktum * i
# Skriv ut resultatet av resultatet
skrive ut('Faktoren til %d er %d.'%(n,faktum))
ellers:
hvisn== 0:
# Skriv ut resultatet av 0!
skrive ut('Faktoren til',n, ' er ')
ellers:
# Skriv ut feilmeldingen
skrive ut('Du må skrive inn et positivt tall')

Produksjon



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

Eksempel 3: Finn faktoren til et tall ved hjelp av rekursivfunksjonen

Funksjonen som kaller seg selv under utførelse av funksjonen kalles den rekursive funksjonen. Følgende skript viser hvordan du kan beregne faktoren for et helt tall som bruker en rekursiv funksjon. Etter å ha tatt heltall som inngang, er den rekursive funksjonen factorial_resursive () vil bli kalt, med inngangsverdien som et argument. Hvis inngangsverdien er 0 eller 1, returneres 1. Hvis inngangsverdien er negativ, blir argumentverdien returnert. Hvis inngangsverdien er mer enn 1, vil funksjonen kalle seg selv ved å trekke argumentet med 1 igjen og igjen til det beregner resultatet av faktorien.

#!/usr/bin/env python3
# Ta en numerisk verdi
Nummer= int(input('Skriv inn et hvilket som helst nummer:'))
# Definer den rekursive funksjonen for å beregne faktoren
deffactorial_recursive(n):
# Lagre det faktoriske resultatet av 0 og 1
hvisn== 0 ellern== 1:
resultat= 1
# Lagre inngangstallet for negativ verdi
elifn< 1:
resultat=n
# Finn det faktoriske resultatet på rekursiv måte
ellers:
resultat=n*factorial_recursive(n-1)
# Returner resultatet
komme tilbakeresultat
# Ring funksjonen
faktum=factorial_recursive(Nummer)
# Skriv ut resultatet for positivt tall
hvisfaktum> = 0:
skrive ut('Faktoren til %d er %d.'%(Nummer,faktum))
ellers:
# Skriv ut meldingen for negativt nummer
skrive ut('Du må skrive inn et positivt tall')

Produksjon

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

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

De tre skriptene ovenfor sjekker bare om tallet er positivt eller negativt. Følgende script beregner factorial via en innebygd factorial () -funksjon med unntakshåndtering. Hvis brukeren gir noen input uten en heltallverdi, genereres et unntak, og en feilmelding skrives ut.

#!/usr/bin/env python3
# Importer matematikkmodul
import matte
# Defi prøveblokken
prøve:
# Ta en numerisk verdi
n= int(input('Skriv inn et hvilket som helst nummer:'))
hvisn> = 0:
# Finn ut faktoren
faktum= matte.Faktorisk(n)
# Skriv ut resultatet av fabrikken
skrive ut('Faktoren til %d er %d'%(n,faktum))
ellers:
# Øk unntaket hvis tallet er negativt
heve Unntak('Du må skrive inn et positivt tall')
# skriv ut feilmeldingen for brøkdeler
unntatt ValueError:
skrive ut('Du må skrive inn heltall')
# Skriv ut feilmelding for negativ inngang
unntatt Unntak somOg:
skrive ut('Feil:%s'%Og)

Produksjon

Skriptet kjøres tre ganger med verdiene h, -3 og 7 i det følgende skjermbildet. Her genereres unntaket for verdien 'h.'

Konklusjon

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