Cálculo do Fatorial em Python

PythonBeginner
Pratique Agora

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.py no diretório ~/project
  • Como implementar a função factorial para calcular o fatorial de um inteiro não negativo
  • Como lidar com entradas negativas, levantando um ValueError e 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:

  1. Crie um novo arquivo e salve-o como factorial.py no diretório ~/project.
cd ~/project
touch factorial.py
  1. 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:

  1. No arquivo factorial.py, substitua o comentário ## Add your code here pelo 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.

  1. 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.

  1. 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.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar