"""
Реализовать генератор с помощью функции с ключевым словом yield, создающим очередное значение.
При вызове функции должен создаваться объект-генератор. Функция должна вызываться следующим образом: for el in fact(n).
Функция отвечает за получение факториала числа,а в цикле необходимо выводить только первые n чисел, начиная с 1! и до n!
"""


def fact(n: int):
    res = 1
    for i in range(1, n + 1):
        res *= i
        yield res


if __name__ == '__main__':
    print([v for v in fact(7)])
