"""
打印斐波那契数列
介绍:
斐波那契数列又称:兔子数列 / 黄金分割数列
公式: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