python解决“斐波那契数列”问题

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

#!/usr/bin/python
#coding=utf-8
# __author__ = 'cy'
#导入time包,之后的sleep()函数位于其中
import time
def fibs(num):
#用于保存生成的实例序列
    result = [0, 1]
#用于生成0到num-2-1的数字
    for i in range(num-2):
#循环数值加入到result列表
        result.append(result[-2]+result[-1])
    return result
def main():
#用参数nums 调用fibs()函数,生成nums个斐波那契数字
    nums=int(input('How many fibs do you want:'))
    result = fibs(nums)
#用open()函数打开文件,第一个参数为被打开的文件名,第二个参数是打开方式    
    fobj = open('/data/moxiaokai/HelloWorld/cyTest/blogcode/result.txt', 'w+')
#enumerate()将数组或列表组成一个索引序列,返回值包含两个变量,第一个是序列,第二个是值
    for i, num in enumerate(result):
        print u"第 %d 个数是: %d" %(i, num)
#写入格式,‘\n’用作换行
        fobj.write("第%d个数是: %d\n" %(i, num))
        time.sleep(1)
if __name__ == '__main__':
    main()

运行结果如下:
运行结果

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曹宇飞丶

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值