斐波那契数列是一种数学上的数列,它的第一项和第二项都是1,从第三项开始,每一项都是前两项的和。斐波那契数列的前几项如下:
1, 1, 2, 3, 5, 8, 13, 21, …
用python写斐波那契数列有多种方法,其中一种是使用递归函数。递归函数是一种函数,它在自己的函数体内调用自己,以实现一种重复或分治的思想。递归函数通常有两个要素:一个基准情况(base case),表示递归的终止条件;一个递归情况(recursive case),表示递归的过程和规律。
例如,下面是一个计算斐波那契数列第n项的递归函数:
def fibonacci(n):
# function body
if n == 1 or n == 2: # base case: if n is 1 or 2, return 1
return 1
else: # recursive case: if n is larger than 2, return the sum of the previous two terms
return fibonacci(n-1) + fibonacci(n-2)
这个函数接受一个正整数n作为参数,并返回斐波那契数列的第n项。它的基准情况是当n等于1或2时,返回1;它的递归情况是当n大于2时,返回前两项之和。这样,每次调用函数时,都会把问题规模缩小一点,直到达到基准情况为止。
例如,下面是调用上面定义好的fibonacci函数,并打印出结果:
x = 10 # define a variable x with value 10
y = fibonacci(x) # call the fibonacci function with x as argument and assign the result to y
print(y) # print out y which is 55
这就是一个简单的斐波那契数列的递归函数。当然,还有很多其他方法和优化技巧可以用来写斐波那契数列,比如使用循环、列表、生成器、动态规划等等。如果你对这些感兴趣,可以自己写一下。
未经允许不得转载:445IT之家 » 用python写斐波那契数列