📅  最后修改于: 2023-12-03 15:10:24.193000             🧑  作者: Mango
斐波那契数列是由0和1开始,之后的每一项都是前两项的和。数学上的定义如下:
F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2) (n>=2)
Python中可以通过递归函数或循环语句实现斐波那契数列的生成。
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 输出前10项斐波那契数列
for i in range(10):
print(fibonacci(i), end=' ')
# 输出结果为: 0 1 1 2 3 5 8 13 21 34
在这个代码段中,定义了一个递归函数fibonacci
来生成斐波那契数列。当参数n
小于或等于1时,返回n
本身;否则,返回n-1
和n-2
两个参数的斐波那契数之和。在循环语句中,逐个输出前10个斐波那契数。
def fibonacci(n):
if n <= 1:
return n
fibo = 0
fibo1 = 1
for i in range(2, n+1):
fibo, fibo1 = fibo1, fibo + fibo1
return fibo1
# 输出前10项斐波那契数列
for i in range(10):
print(fibonacci(i), end=' ')
# 输出结果为: 0 1 1 2 3 5 8 13 21 34
这个代码段中,同样定义了一个函数fibonacci
来生成斐波那契数列。当n
小于或等于1时,返回n
本身;否则,使用赋值运算符来计算斐波那契数列的每一项,并且在循环结束后返回前n
项中的最后一项。在循环语句中,逐个输出前10个斐波那契数。
无论哪种方法,都可以用来生成斐波那契数列。递归函数虽然简明,但是可能因为递归次数太多导致效率较低。循环语句虽然繁琐,但是效率较高。因此,在实际应用中,需要根据具体情况来选择哪种方法更适合。