斐波那契数列
一、定义
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
二、推理
前提一开始有1对小兔子,第二个月成熟,第三个月生1对,然后每年都生1对,并且,兔子很神奇都活了下来!!!!!
内容
第一个月有1对小兔子
第二个月1对小兔子成熟
第三个月1对大兔子,生1对小兔子
第四个月1对大兔子,生1对小兔子,1对小兔子成熟
第五个月2对大兔子,生2对小兔子,1对小兔子成熟
第六个月3对大兔子,生3对小兔子,2对小兔子成熟
。。。。。。
三、代码
n1 = 1
n2 = 1
num = input("输入计算的斐波那契数列的个数:")
if num.isdigit(): #判断是否为纯数字,-1中的负号是str,所以不需要判断小于0的情况
num = int(num) #str----->int
if num == 0: #如果不将num转成int型的话,直接判断num是否等于“0”也可以
print("非法输入!")
else:
for i in range(1,num+1):
if i== 1:
print(1,end=",") #通过将输出的默认值改成逗号,使输出在一行上
elif i == 2:
print(1,end=",")
else:
n1,n2 = n2,n1+n2 #灵活的语法结构,python中特有的
print(n2,end=",")
else:
print("输入内容非法!")
四、总结
通过推理,可以知道代码运行的过程,总结规律,就可以得出正确结果。
当然,我们还可以用递归的方法:
def fibonaqi(n): #定义一个函数
if n == 1: #给出结束条件
return 1
if n == 2:
return 1
return fibonaqi(n-1) + fibonaqi(n-2) #调用函数自己
print() #打印空行,可以不写
print(fibonaqi(10)) #当参数为10的时候,返回斐波那契的数值
以上内容仅供参考,切勿用于商业用途,定义内容来自万能的百度百科,其余如有雷同,纯属偶然!