Условия задачи:
Напишите программу, в которой используется функция-генератор, создающая итерируемый объект со степенями двойки. Количество элементов определяется аргументом функции-генератора.
Решение задачи:
def foo2(num):
for i in range(1,num+1):
yield 2 ** i
a = foo2(5)
print(list(a))