-
Notifications
You must be signed in to change notification settings - Fork 0
/
HW25_Task
30 lines (22 loc) · 1.67 KB
/
HW25_Task
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
30
Реализуйте генераторную функцию (с использованием оператора yield), которая будет возвращать по одному члену числовой
последовательности, закон которой задается с помощью пользовательской функции.
Кроме этого параметром генераторной
функции должны быть значение первого члена прогрессии и количество выдаваемых членов последовательности (n).
Генератор должен остановить свою работу по достижению n — го члена.
Пример пользовательской функции:
def pow(x):
return x ** 2
Намек на генераторную функцию:
def some_gen(begin, end, func):
"""
begin: первый член последовательности
end: кол-во элементов в последовательности
func: функция, которая формирует значения для последовательности
"""
....
yield begin
Вариант вызова ген. функции (но можно и в цикле пройтись по результату):
print(list(some_gen(2, 4, pow)))
[2, 4, 16, 256]
Подсказка: эта задача очень сильно похожа на бесконечный счетчик из материалов лекции!
Нужно лишь ограничить кол-во выдаваемых генератором значений!