import pydoc

"""
Autor Sabri Eldar

    7. Реализовать генератор с помощью функции с ключевым словом yield, создающим очередное значение.
    При вызове функции должен создаваться объект-генератор. Функция вызывается следующим образом: for el in fact(n).
    Она отвечает за получение факториала числа. В цикле нужно выводить только первые n чисел, начиная с 1! и до n!.
    Подсказка: факториал числа n — произведение чисел от 1 до n. Например, факториал четырёх 4! = 1 * 2 * 3 * 4 = 24.
"""

def funFactor(n):
    cur = 1
    for i in range(1, n+1):
        cur *= i
        yield cur
n = 12
for i, v in enumerate(funFactor(n)):
    print(f"Факториал числа {i + 1} является {v}")
