Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida questão 5 - número fatorial

Inicialmente fiquei na dúvida de porquê a variável de nome fatorial é = a 1...

# Pedir o número
num = int(input('Informe um número inteiro: '))

# Inicializar o cálculo
fatorial = 1

# nosso contador inicializa com o número máximo
# e será feita uma contagem decrescente com o operador -=
i = num
while i > 0:
    # queremos multiplicar agora o valor do fatorial pelo num
    # e todos os números abaixo dele até 1
    fatorial *= i
    i -= 1

# Imprimir o cálculo do fatorial
print(f'Fatorial de {num} é {fatorial}')

Depois de muito pensar, cheguei na seguinte resolução do exercício:

numero = int(input('Digite aqui um número inteiro: '))
fatorial = 1
while numero > 0:
  fatorial *= numero
  numero -= 1
print(f'O fatorial é {fatorial}.')

Está correto? Pensei na seguinte lógica:
1º Pedir o número
2º O fatorial começa em 1
3º Enquanto o número fornecido for maior que 0, ele será multiplicado pelo valor estabelecido na variável fatorial
4º Depois da multiplicação, o número fornecido será reduzido, menos 1

Assim... Suponhamos que o número fornecido seja 3. Seguindo os passos já mencionados anteriormente, ficaria:
1º Número fornecido: 3
2º Fatorial começa em 1
3º 3x1 = 3
4º O número fornecido é reduzido menos 1, passando a ser 2.
Repetimos o laço:
1º Número fornecido: passa a 2
2º Variável fatorial agora é 3
3º 2x3 = 6
4º O número fornecido é reduzido menos 1, passando agora a 1.
Repetimos o laço:
1º Número fornecido: passa a 1
2º Fatorial agora é 6
3º 1x6 = 6
4º O número fornecido é reduzido menos 1, passando a ser 0.
Rompe-se o laço de repetição.
Imprime-se a mensagem dizendo que o número fatorial é 6.

1 resposta
solução!

Ei! Tudo bem, Raysa?

Sim, está certo! Sua solução funciona como o esperado e o raciocínio que descreveu está muito bem estruturado.

A variável fatorial começa em 1 porque o cálculo do fatorial é uma multiplicação acumulada. Se começasse em 0, qualquer multiplicação daria 0. O valor 1 funciona como o “neutro” da multiplicação, permitindo que o cálculo evolua do jeito certo.

Excelente trabalho, continue assim e qualquer dúvida, compartilhe!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!