Python数学计算工具3、Python 斐波那契数列-前500项列表

举报
红目香薰 发表于 2022/11/29 15:09:22 2022/11/29
949 0 0
【摘要】 ​ 百度解析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥...

 百度解析:

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

斐波那契数列是一个非常基础的算法,这个算法无论是在面试题中,平时的解题过程中都会无数次的见到,我们要对这个问题深度熟悉才能更好的应对这种问题。

我们先来看看基础的斐波那契数列的遍历,我们先遍历一下前10个斐波那契数,这个是基础方法:

one = 0
two = 1
nth = 1
for i in range(0, 10):
    print(nth)
    nth = one + two
    one = two
    two = nth

编辑

递归方法,一般就能返回1个结果,用于计算某个位置上的斐波那契数。

def dfs(n):
    if n == 1 or n == 2:
        return 1
    return dfs(n - 1) + dfs(n - 2)

print(dfs(10))

保存前500的斐波那契数列结果:

# 排列前500斐波那契额数列
import os

os.system("title 排列前500斐波那契额数列:")

one = 0
two = 1
nth = 1
str_list = []
for i in range(0, 500):
    nth = one + two
    one = two
    two = nth
    str_list.append(nth)

count = 0
str1 = []
with open("斐波那契数列前500个数.txt", "w+", encoding="utf-8") as file:
    for item in str_list:
        count += 1
        str1.append("{0}、{1}\n".format(count, item))
    file.writelines(str1)
    file.flush()

示例包下载地址:

https://download.csdn.net/download/feng8403000/86949967

下面是打包过程:

使用打包工具:【pip install pyinstaller】

安装完成后注意使用语法:

pyinstaller -F -p D:\save\Exe\studys\Python\exe\Lib -i D:\save\myclass\Python\core\pythonProject\python.ico demo5.py -n " 排列前500斐波那契额数列" 

可以看到我使用了2个绝对路径,绝对路径1是Python环境的包所在的位置,如果包不全的话需要自己通过pip进行下载,建议修改完镜像位置再下载。不会也别着急,每篇违章后面都会有打包教程。操作次数多了也就会了。

执行完成我们看到【successfully】代表成功了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。