著名的斐波那契数列,即从第三项开始,每一项都等于前两项之和。
之前写过利用Java语言来编写,由于最近正在学Python,所以将自己的想法记录在此,有需要的朋友可以参考一下。
写在前面:这里的三个方法其实思路是差不多的,因为第一项和第二项没有前两项,所以无法直接求出本项,故使用了直接指定的方式。
方法一:利用if判断和for循环来实现
这个方法感觉稍微有些复杂,使用到了if判断、for循环以及变量交换等知识点,难度不高,初学者理解起来可能稍微有些困难(不推荐使用次方法,没啥技术含量,完全是为了用for循环实现而编写)
先贴代码:
"""
求斐波那契数列第n项以及前n项和
斐波那契数列:从第二项开始,每一项都等于前两项之和
1,1,2,3,5,8,13,21,34,55,89,144,...
"""
n = int(input("请输入要求斐波那契数列第几项:"))
Sum = 0 # 定义初始总和
num2 = 1 # 第一项,也为后续的前两项
num1 = 1 # 第二项,也为后续的前一项
if n == 1 or n == 2: # 如果是前两项,值都为1
num2 = 1
Sum = n # 这里取了个巧,因为前1项的和为1,前2项的和为2,就不用单独判断n是1还是2了
else:
Sum = 2
for a in range(0, n - 2): # 利用循环来进行求值,每次循环求出第a+2项,直到循环到第n项
temp2 = num2 # 前2项