Redacció del programa Factorial a Python

Writing Factorial Program Python



El factorial d’un número és el nombre que obtingueu després de multiplicar tots els números de l’1 a aquest nombre. El factorial d’un número es denota amb el símbol ‘!’. Per exemple, si volem esbrinar el factorial de 4, denotat 4 !, el resultat seria 1x2x3x4 = 24. Hi ha moltes maneres d’esbrinar el factorial d’un nombre. El factorial es pot determinar a Python mitjançant la funció integrada per a funcions de bucle i recursives. Aquest tutorial mostra com es pot determinar el factorial d’un nombre mitjançant diverses funcions de Python.

Exemple 1: cerqueu el factorial d'un número mitjançant la funció integrada

Python té una funció integrada anomenada factorial () sota la matemàtiques mòdul. El següent script calcula el factorial de qualsevol número mitjançant un dispositiu integrat factorial () funció. En aquest script, es prendrà qualsevol número enter vàlid com a entrada i la funció calcularà el valor factorial d’aquest nombre i imprimirà el valor factorial del número d’entrada.







#! / usr / bin / env python3
# Importa el mòdul matemàtic
importació matemàtiques
# Agafeu qualsevol valor numèric
n= int(entrada('Introduïu qualsevol número:'))
# Esbrineu el factorial
fet= matemàtiques.factorial(n)
# Imprimiu el resultat del factorial
imprimir('El factorial de% d és% d'%(n,fet))

Sortida



Després d'executar l'script, es dóna 3 com a número d'entrada i s'imprimeix la sortida de 3 !, 6.







Exemple 2: cerqueu el factorial d’un número mitjançant el bucle

El següent script mostra com podeu calcular el factorial de qualsevol nombre sense utilitzar cap funció integrada a Python. Aquí, el per bucle s’utilitza per calcular el factorial d’un nombre. Qualsevol valor enter d'entrada es prendrà i s'emmagatzemarà com a variable anomenada n . Una variable anomenada fet s’utilitza per emmagatzemar el resultat factorial i s’inicialitza a 1 abans d’entrar al bucle. Si el valor de n és més d'un o igual a un, llavors el bucle iterarà entre 1 i n + 1 vegades i calcularà el valor factorial. En cas contrari, el bucle comprovarà si el valor de n és igual a 0 o negatiu. Si el valor de n és 0, el resultat factorial serà 1; i si el valor de n és un enter negatiu, s'imprimirà un missatge d'error.

#! / usr / bin / env python3

# Agafeu un valor numèric i emmagatzemeu-lo a n
n= int(entrada('Introduïu qualsevol número:'))
# Inicialitzeu la variable
fet= 1
# Esbrineu el factorial si el número d'entrada és superior a 0
sin> = 1:
# Iterar el bucle per multiplicar els números de l'1 al n
perjodins abast (1,n +1):
fet=fet * i
# Imprimiu el resultat fcatorial
imprimir('El factorial de% d és% d.'%(n,fet))
en cas contrari:
sin== 0:
# Imprimiu el resultat de 0!
imprimir('El factorial de',n, ' és ')
en cas contrari:
# Imprimiu el missatge d'error
imprimir('Heu d'introduir qualsevol número positiu')

Sortida



L'escriptura s'executa tres vegades, segons la següent captura de pantalla. L'escriptura s'executa per als valors d'entrada 1, 6 i -8. Les sortides es mostren segons els valors d'entrada.

Exemple 3: cerqueu el factorial d’un número mitjançant la funció recursiva

La funció que s'autodenomina durant l'execució de la funció s'anomena funció recursiva. El següent script mostra la manera de calcular el factorial de qualsevol nombre enter mitjançant una funció recursiva. Després de prendre el número enter com a entrada, la funció recursiva factorial_resursive () es cridarà, amb el valor d’entrada com a argument. Si el valor d'entrada és 0 o 1, es retornarà 1. Si el valor d'entrada és negatiu, es retornarà el valor de l'argument. Si el valor d'entrada és superior a 1, la funció es cridarà restant l'argument per 1 una i altra vegada fins que calculi el resultat del factorial.

#! / usr / bin / env python3
# Agafeu un valor numèric
número= int(entrada('Introduïu qualsevol número:'))
# Definiu la funció recursiva per calcular el factorial
deffactorial_recursiu(n):
# Emmagatzemeu el resultat factorial de 0 i 1
sin== 0 o bén== 1:
resultat= 1
# Emmagatzemeu el número d'entrada pel valor negatiu
elifn< 1:
resultat=n
# Cerqueu el resultat factorial de manera recursiva
en cas contrari:
resultat=n * factorial_recursiu(n-1)
# Torneu el resultat
tornarresultat
# Truqueu a la funció
fet=factorial_recursiu(número)
# Imprimiu el resultat per obtenir un nombre positiu
sifet> = 0:
imprimir('El factorial de% d és% d.'%(número,fet))
en cas contrari:
# Imprimiu el missatge per al número negatiu
imprimir('Heu d'introduir qualsevol número positiu')

Sortida

A la captura de pantalla següent, l'script s'executa tres vegades amb els valors 1, -5 i 8.

Exemple 4: cerqueu el factorial d'un número amb la gestió d'excepcions

Els tres scripts anteriors només comproven si el nombre és positiu o negatiu. El següent script calcula el factorial mitjançant una funció factorial () integrada amb el tractament d'excepcions. Si l'usuari dóna alguna entrada sense un valor enter, es generarà una excepció i s'imprimirà un missatge d'error.

#! / usr / bin / env python3
# Importa el mòdul matemàtic
importació matemàtiques
# Desafia el bloc de prova
provar:
# Agafeu un valor numèric
n= int(entrada('Introduïu qualsevol número:'))
sin> = 0:
# Esbrineu el factorial
fet= matemàtiques.factorial(n)
# Imprimiu el resultat del factorial
imprimir('El factorial de% d és% d'%(n,fet))
en cas contrari:
# Augmenteu l'excepció si el nombre és negatiu
aixecar Excepció('Heu d'introduir qualsevol número positiu')
# imprimeix el missatge d'error per a l'entrada fraccionada
excepte ValueError:
imprimir('Heu d'introduir un nombre enter')
# Imprimeix el missatge d'error per l'entrada negativa
excepte Excepció comI:
imprimir('Error:% s'% I)

Sortida

L'escriptura s'executa tres vegades amb els valors h, -3 i 7 a la captura de pantalla següent. Aquí es genera l'excepció pel valor 'h'.

Conclusió

Aquest tutorial mostra algunes de les diferents maneres de calcular el valor factorial d’un nombre a Python. Després de llegir aquest tutorial, el lector hauria de tenir clar el concepte del factorial d’un nombre i els mètodes basats en Python per calcular el factorial.