def add(n,i):
print("看看add执行了多少次n+i=%s+%s=%s"%(n,i,n+i))
return n+i
def test():
for i in range(4):
print("i",i)
yield i
g=test()
for n in [1,10]:
g = (add(n, i) for i in g)
print(list(g))
A. res=[10,11,12,13]
B. res=[11,12,13,14]
C. res=[20,21,22,23]
D. res=[21,22,23,24]
通过分析
def add1(n,i):
print("看看add1执行情况n+i=%s+%s=%s"%(n,i,n+i))
return n+i
def add2(n,i):
print("看看add2执行情况n+i=%s+%s=%s"%(n,i,n+i))
return n+i
def test():
for i in range(4):
print("i=",i)
yield i
g=test()
for n in [1,10]:
if n==1:
f=q=k=g = (add1(n, i) for i in g)
print("记录n=1,n=%s,g=%s" % (n, g))
else:
m=q=g = (add2(n, i) for i in g)
print("记录n=10,n=%s,g=%s"%(n,g))
# g.__iter__()
print("总的g",list(g),list(f),list(m))


网友评论