Escreva um generator capaz de gerar uma sequência com o fatorial de 1 até n, em que n é passado como parâmetro para o gerador.
Resposta:
##############################################################################
# Parte do livro Introdução à Programação com Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2024
# Quarta Edição - Março/2024 - ISBN 978-85-7522-886-9
#
# Site: https://python.nilo.pro.br/
#
# Arquivo: capitulo 08/exercicio-08-20.py
##############################################################################
def gerador_fatorial(n):
p = 1
for v in range(1, n + 1):
p *= v
yield p
# Exemplo de uso:
# Gerar fatoriais de 1 a 5
for n, fatorial in enumerate(gerador_fatorial(5), 1):
print(f"{n}! = {fatorial}")