-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathL4T7.py
More file actions
29 lines (24 loc) · 1.3 KB
/
L4T7.py
File metadata and controls
29 lines (24 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Урок 4. Практическое задание 7.
# ФИО: Артур Назарян
# Курс: Основы языка Python
# Факультет: Geek University Python-разработки
#
# Реализовать генератор с помощью функции с ключевым словом yield, создающим очередное значение.
# При вызове функции должен создаваться объект-генератор. Функция должна вызываться следующим
# образом: for el in fact(n). Функция отвечает за получение факториала числа, а в цикле необходимо
# выводить только первые n чисел, начиная с 1! и до n!.
# Подсказка: факториал числа n — произведение чисел от 1 до n.
# Например, факториал четырёх 4! = 1 * 2 * 3 * 4 = 24.
def po_krasote(num):
my_str = ''
for i in range(1, num+1):
my_str += str(i) + ' * ' if i < num else str(i)
return my_str
def fact(n):
fc = 1
for i in range(1, n + 1):
fc *= i
yield {i: fc}
for el in fact(4):
for k, v in el.items():
print(f'{k}! = {po_krasote(k)} = {v}')