python数列编程_Python 入门经典100实例:实例6 斐波那契数列

题目:斐波那契数列。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

在数学上,费波那契数列是以递归的方法来定义:

F0 = 0     (n=0)F1 = 1

(n=1)Fn = F[n-1]+ F[n-2](n=>2)

第一种方法输出指定数字斐波那契额数列列表:

def fib(n):

if n ==0:

return 0

if n == 1 or n ==2:

return 1

fibs = [1,1]

for i in range(2,n):

# 倒数第一个 加上 倒数第二个

fibs.append(fibs[-1]+ fibs[-2])

return fibs

#输出前10个斐波那契数列

print fib(10)

输出结果:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

第二种方法输出指定第几位的斐波那契数列:

# -*- coding:utf-8 -*-

def fib(n):

a,b = 1,1

for i in range(n-1):

a,b = b, a+b

return b

print fib(10)

输出结果:

55

第三种方法使用递归

# -*- coding: UTF-8 -*-

# 使用递归

def fib(n):

if n == 1 or n == 2:

return 1

else:

x =fib(n-1)+fib(n-2)

return x

"""

简写方法

def fib(n):

if n==1 or n==2:

return 1

return fib(n-1)+fib(n-2)

"""

# 输出了第10个斐波那契数列

print fib(10)

输出结果:

55

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

你可能感兴趣的:(python数列编程)