思路一:函数内部直接输出这么多项

    1. def gen1_fb(n,i=0,a1=0,a2=1):
    2. i += 1
    3. a2 = a1 + a2
    4. a1 = a2 - a1
    5. print('第{}项是{}'.format(i,a1))
    6. if i == n:
    7. return
    8. return gen1_fb(n,i,a1,a2)
    9. n = int(input('请输入你想要生成的斐波那契数列的项数:'))
    10. gen1_fb(n)

    思路二:函数使用生成器生成

    1. # 版本2:使用生成器进行生成
    2. def gen2_fb(n,i=0,a1=0,a2=1):
    3. while i < n:
    4. i += 1
    5. a2 = a1 + a2
    6. a1 = a2 - a1
    7. yield i,a1
    8. fb_generator = gen2_fb(int(input('请输入你想要生成的斐波那契数列的项数:')))
    9. for i,num in fb_generator:
    10. print('第{}项是{}'.format(i,num))