2的n次方是2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048......
3的n次方是3, 9, 27, 81, 243, 729, 2187......
如果两个序列合并,并按由小到大排列则是
2, 3, 4, 8, 9, 16, 27, 32, 64, 81, 128, 243, 256, 512, 729, 1024, 2048, 2187......
现在要求编写一个函数fun(),以yield返回值,成为一个生成器,可以以下面的方式调用函数,
for i in fun():
print(i)
3的n次方是3, 9, 27, 81, 243, 729, 2187......
如果两个序列合并,并按由小到大排列则是
2, 3, 4, 8, 9, 16, 27, 32, 64, 81, 128, 243, 256, 512, 729, 1024, 2048, 2187......
现在要求编写一个函数fun(),以yield返回值,成为一个生成器,可以以下面的方式调用函数,
for i in fun():
print(i)
input() #这里加入一个输入等待,按一次回车显示一个
Python源码:
def fun():
a = 2
b = 3
while True:
if a < b:
yield a
a *= 2
else:
yield b
b *= 3
for i in fun():
print(i)
input()