Escrevendo o programa fatorial em Python

Writing Factorial Program Python



O fatorial de um número é o número que você obtém depois de multiplicar todos os números de 1 a esse número. O fatorial de um número é denotado pelo símbolo ‘!’. Por exemplo, se quisermos descobrir o fatorial de 4, denotado 4 !, então o resultado seria 1x2x3x4 = 24. Existem muitas maneiras de descobrir o fatorial de um número. O fatorial pode ser determinado em Python usando a função interna para funções de loop e recursivas. Este tutorial mostra como o fatorial de um número pode ser determinado usando várias funções do Python.

Exemplo 1: Encontre o fatorial de um número usando a função interna

Python tem uma função integrada chamada fatorial() debaixo de matemática módulo. O script a seguir calcula o fatorial de qualquer número usando um fatorial() função. Neste script, qualquer número inteiro válido será tomado como entrada, e a função calculará o valor fatorial desse número e imprimirá o valor fatorial do número de entrada.







#! / usr / bin / env python3
# Importar módulo matemático
importar matemática
# Pegue qualquer valor numérico
n= int(entrada('Digite qualquer número:'))
# Descubra o fatorial
facto= matemática.fatorial(n)
# Imprime o resultado do fatorial
imprimir('O fatorial de% d é% d'%(n,facto))

Saída



Depois de executar o script, 3 é dado como número de entrada e a saída de 3 !, 6, é impressa.







Exemplo 2: Encontre o fatorial de um número usando o loop

O script a seguir mostra como você pode calcular o fatorial de qualquer número sem usar nenhuma função incorporada em Python. Aqui o para loop é usado para calcular o fatorial de um número. Qualquer valor inteiro de entrada será tomado e armazenado como a variável nomeada n . Uma variável chamada facto é usado para armazenar o resultado fatorial e é inicializado em 1 antes de entrar no loop. Se o valor de n for maior que um ou igual a um, então o loop irá iterar por 1 a n + 1 vezes e irá calcular o valor fatorial. Caso contrário, o loop verificará se o valor de n é igual a 0 ou negativo. Se o valor de n for 0, o resultado fatorial será 1; e se o valor de n for um número inteiro negativo, uma mensagem de erro será impressa.

#! / usr / bin / env python3

# Pegue um valor numérico e armazene em n
n= int(entrada('Digite qualquer número:'))
# Inicialize a variável
facto= 1
# Descubra o fatorial se o número de entrada for maior que 0
E sen> = 1:
# Repita o loop para múltiplos números de 1 a n
paraeuno faixa (1,n +1):
facto=fato * i
# Imprime o resultado fcatorial
imprimir('O fatorial de% d é% d.'%(n,facto))
outro:
E sen== 0:
# Imprime o resultado de 0!
imprimir('O fatorial de',n, ' é ')
outro:
# Imprima a mensagem de erro
imprimir('Você tem que inserir qualquer número positivo')

Saída



O script é executado três vezes, conforme a imagem a seguir. O script é executado para os valores de entrada 1, 6 e -8. As saídas são mostradas de acordo com os valores de entrada.

Exemplo 3: Encontre o fatorial de um número usando a função recursiva

A função que se chama durante a execução da função é chamada de função recursiva. O script a seguir mostra como calcular o fatorial de qualquer número inteiro usando uma função recursiva. Depois de tomar o número inteiro como entrada, a função recursiva factorial_resursive () será chamado, com o valor de entrada como um argumento. Se o valor de entrada for 0 ou 1, 1 será retornado. Se o valor de entrada for negativo, o valor do argumento será retornado. Se o valor de entrada for maior que 1, a função se chamará subtraindo o argumento por 1 repetidamente até que calcule o resultado do fatorial.

#! / usr / bin / env python3
# Pegue um valor numérico
número= int(entrada('Digite qualquer número:'))
# Defina a função recursiva para calcular o fatorial
deffactorial_recursive(n):
# Armazene o resultado fatorial de 0 e 1
E sen== 0 oun== 1:
resultado= 1
# Armazena o número de entrada para valor negativo
elifn< 1:
resultado=n
# Encontre o resultado fatorial de forma recursiva
outro:
resultado=n * factorial_recursive(n-1)
# Retorna o resultado
Retornaresultado
# Chame a função
facto=factorial_recursive(número)
# Imprime o resultado para número positivo
E sefacto> = 0:
imprimir('O fatorial de% d é% d.'%(número,facto))
outro:
# Imprima a mensagem para o número negativo
imprimir('Você tem que inserir qualquer número positivo')

Saída

Na captura de tela a seguir, o script é executado três vezes com os valores 1, -5 e 8.

Exemplo 4: Encontre o fatorial de um número com tratamento de exceção

Os três scripts acima verificam apenas se o número é positivo ou negativo. O script a seguir calcula o fatorial por meio de uma função factorial () embutida com tratamento de exceção. Se o usuário fornecer qualquer entrada sem um valor inteiro, uma exceção será gerada e uma mensagem de erro será impressa.

#! / usr / bin / env python3
# Importar módulo matemático
importar matemática
# Desafie o bloco try
Experimente:
# Pegue um valor numérico
n= int(entrada('Digite qualquer número:'))
E sen> = 0:
# Descubra o fatorial
facto= matemática.fatorial(n)
# Imprime o resultado do fatorial
imprimir('O fatorial de% d é% d'%(n,facto))
outro:
# Levante a exceção se o número for negativo
levantar Exceção('Você tem que inserir qualquer número positivo')
# imprime a mensagem de erro para entrada fracionária
exceto ValueError:
imprimir('Você tem que inserir um número inteiro')
# Imprimir mensagem de erro para entrada negativa
exceto Exceção ComoE:
imprimir('Erro:% s'%E)

Saída

O script é executado três vezes com os valores h, -3 e 7 na imagem a seguir. Aqui, a exceção é gerada para o valor, 'h.'

Conclusão

Este tutorial mostra algumas das diferentes maneiras de calcular o valor fatorial de um número em Python. O conceito de fatorial de um número e métodos baseados em Python para calcular o fatorial devem ficar claros para o leitor após a leitura deste tutorial.