生成器表达式
练习题一
def demo():
for i in range(4):
yield i
g=demo()
g1=(i for i in g)
g2=(i for i in g1)
print(list(g1))
print(list(g2))
练习题二
def add(n,i):
return n+i
def test():
for i in range(4):
yield i
g=test()
for n in [1,10]:
g=(add(n,i) for i in g)
print(list(g))
递归函数
练习题:
1、小明20岁 ; 后面的同学大2岁,后面的后面的同学比后面的同学大2岁; 求第6位同学的年龄
def age(x):
if x == 0:
return 20
x -= 1
return age(x) + 2
res = age(3)
print(res)
2、小明买了一包瓜子,每天吃当天瓜子数量的一半,吃到第8天发现还剩5颗,用递归求他一共买了多少颗瓜子
def sum(x):
if x == 0:
return 5
x -= 1
return sum(x) * 2
res = sum(8)
print(res)