Introdução
Neste projeto, você aprenderá como calcular o fatorial de um inteiro não negativo. O fatorial de um inteiro positivo é o produto de todos os inteiros positivos menores ou iguais a ele, e o fatorial de 0 é 1.
👀 Pré-visualização
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
🎯 Tarefas
Neste projeto, você aprenderá:
- Como criar um arquivo
factorial.pyno diretório~/project - Como implementar a função
factorialpara calcular o fatorial de um inteiro não negativo - Como lidar com entradas negativas, levantando um
ValueErrore exibindo uma mensagem dizendo "Por favor, insira um inteiro não negativo"
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Compreender o conceito de fatorial e como calculá-lo
- Escrever uma função Python para calcular o fatorial de um inteiro não negativo
- Lidar com erros de entrada e exibir mensagens de erro apropriadas
- Aplicar seu conhecimento de programação Python para resolver um problema do mundo real
Criar o arquivo factorial.py
Nesta etapa, você criará o arquivo factorial.py no diretório ~/project. Siga os passos abaixo para completar esta etapa:
- Crie um novo arquivo e salve-o como
factorial.pyno diretório~/project.
cd ~/project
touch factorial.py
- No arquivo
factorial.py, adicione o seguinte código:
def factorial(n):
"""
Calcular o fatorial de um inteiro não negativo.
Args:
n (int): O inteiro não negativo para o qual calcular o fatorial.
Returns:
str: O fatorial do inteiro de entrada no formato "{n}! = {factors_str} = {result}".
Raises:
ValueError: Se o inteiro de entrada for negativo.
"""
## Adicione seu código aqui
Este é o ponto de partida para a função factorial que você implementará na próxima etapa.
Implementar a Função Fatorial
Nesta etapa, você implementará a função factorial no arquivo factorial.py. Siga os passos abaixo para completar esta etapa:
- No arquivo
factorial.py, substitua o comentário## Add your code herepelo seguinte código:
def factorial(n):
"""
Calcular o fatorial de um inteiro não negativo.
Args:
n (int): O inteiro não negativo para o qual calcular o fatorial.
Returns:
str: O fatorial do inteiro de entrada no formato "{n}! = {factors_str} = {result}".
Raises:
ValueError: Se o inteiro de entrada for negativo.
"""
if n < 0:
raise ValueError("Please enter a non-negative integer.")
elif n == 0:
return "0! = 1"
else:
result = 1
factors = []
for i in range(1, n + 1):
result *= i
factors.append(str(i))
factors_str = " * ".join(factors)
return f"{n}! = {factors_str} = {result}"
## Exemplo parcial de impressão:
print(factorial(2))
print(factorial(8))
Este código implementa a funcionalidade de calcular o fatorial de um inteiro não negativo. Ele lida com o caso de uma entrada negativa, levantando um ValueError, e o caso de 0, retornando "0! = 1". Para todos os outros inteiros não negativos, ele calcula o fatorial multiplicando todos os números de 1 até o número de entrada e retorna o resultado no formato desejado.
- Salve o arquivo
factorial.py.
Seu arquivo factorial.py agora está completo, e você pode usar a função factorial para calcular o fatorial de qualquer inteiro não negativo.
- Para testar sua implementação, execute o seguinte comando em seu terminal:
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



