1,
def fun():
a,b=1,1
while True:
yield a
a,b=b,a+b
f=fun()
for i in range(20):
print(next(f),end='\t')
结果为:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
2,
def f(n):
if n==1 or n==2:
return 1
else:
return f(n-1) + f(n-2)
def fib(x,y):
for i in range(x,y):
s=f(i)
if x<= s <=y:
print(s,end='\t')
x=int(input('请输入数x(x不能小于1或者大于数y) :'))
y=int(input('请输入数y(请合理输入):'))
fib(x,y)