Python 递归函数打印斐波那契数列

"""
    打印斐波那契数列

介绍:
    斐波那契数列又称:兔子数列 / 黄金分割数列
    公式:F(1)=1, F(2)=1, F(3)=F(2)+F(1), F(n)=F(n-1)+F(n-2)......(n>=3 and n为正整数)
    例如:1 1 2 3 5 8 13 21

知识点:
    1、函数封装
    2、列表应用
    3、条件语句
    4、循环语句

"""


# 方法二   ==============================================================

# 打印斐波那契数列
def fibonacci(num):

    if num <= 0:
        return []
    elif num == 1:
        return [1]
    elif num == 2:
        return [1, 1]

    elif num >= 3:
        fib_list = fibonacci(num-1)
        fib_list.append(fib_list[-1]+fib_list[-2])

        return fib_list


while True:

    num = int(input('请输入斐波那契数列长度的整数:'))

    fib_length = fibonacci(num)

    print(f'长度:{fib_length}')


    print('范围内:', end='')
    for i in fib_length:
        if i <= num:
            print(i, end=' ')

    if len(fib_length) == 3:
        print(3, end=' ')
    elif fib_length == []:
        print('空', end=' ')

运行结果:

请输入斐波那契数列长度的整数:3
长度:[1, 1, 2]
范围内:1 1 2 3 
请输入斐波那契数列长度的整数:2
长度:[1, 1]
范围内:1 1 
请输入斐波那契数列长度的整数:1
长度:[1]
范围内:1 
请输入斐波那契数列长度的整数:0
长度:[]
范围内:空 
请输入斐波那契数列长度的整数:-3
长度:[]
范围内:空 
请输入斐波那契数列长度的整数:5
长度:[1, 1, 2, 3, 5]
范围内:1 1 2 3 5
请输入斐波那契数列长度的整数:10
长度:[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
范围内:1 1 2 3 5 8 

作者:周华

创作日期:2023/10/7

你可能感兴趣的:(python,入门案例,python)