`

fibonacci.py源代码分析

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

"""Fibonacci sequences using generators

This program is part of "Dive Into Python", a free Python book for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
"""

__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.2 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2004 Mark Pilgrim"
__license__ = "Python"

def fibonacci(max):
a, b = 0, 1

%将a赋为0,b赋为1
while a < max:
yield a

%特别注意此处的yield:yield每执行一次,将把它后面的参数记住,打个比方,有点类似于数据结构 里面的栈,将a压入栈,每执行一次yield,将a的值压入一次
a, b = b, a+b

%fibonacci算法的规律

for n in fibonacci(1000):
print n,

%将fibonacci(1000)中yield存储的1000个a的值全部打印出来。

分享到:
评论

相关推荐

    PyPI 官网下载 | memorize.py-1.2.tar.gz

    在`memorize.py-1.2`的压缩包中,主要包含的是库的源代码。解压后,我们看到只有一个文件`memorize.py`,这个文件定义了`memorize`这个装饰器,它是实现记忆化的关键工具。装饰器在Python中是一种强大的语法特性,...

    Python库 | py_algorithms-0.14.0-py2.py3-none-any.whl

    与`.tar.gz`或`.zip`格式的源代码包相比,`.whl`文件不需要构建过程,可以直接由Python的`pip`工具安装,减少了编译和依赖解决的时间。 `py_algorithms`库是专门为Python开发者设计的一套算法集合。它可能包含了...

    基于python的数据结构学习+源代码+文档说明

    - 7-4 斐波那契查找 - 7-5 稠密索引 - 7-6 分块索引 - 7-7 倒排索引 - 7-8 哈希 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! &lt;项目...

    华中科技大学-算法设计与分析-python实现版本内含源码和说明书.zip

    这个资源包含了一系列的Python源代码文件,每个文件代表一个或多个算法的实现,旨在帮助学习者深入理解和实践算法。下面将详细阐述这些文件可能涉及的算法及其在实际中的应用。 1.py、2.py等文件可能包含了基础算法...

    Python库 | fibonacci_calculator-0.1.16.tar.gz

    源代码可能包含了定义斐波那契数列计算函数的Python模块,比如`fibonacci.py`,其中可能有如`fibonacci(n)`这样的核心函数,用于计算第n个斐波那契数。此外,库可能还提供了其他辅助函数,比如验证输入的有效性、...

    soure-code-of-python-to-learn.zip_Python code_python 算法

    标题 "soure-code-of-python-to-learn.zip" 提供了一个Python学习资源的压缩包,其中包含了一系列用于理解和实践算法的源代码。这个压缩包显然旨在帮助初学者通过实际操作来学习Python编程,尤其是关注算法这一核心...

    编程题.zip

    在给定的压缩包"编程题.zip"中,包含了多个Python源代码文件,这些文件代表了不同的编程题目,涵盖了基础的算法和数据结构知识。以下是根据文件名解析出的各个编程题目的相关知识点: 1. **12617_闰年.py** 这个...

    Fibonacci-Code-using-cool-language:斐波那契数发生器

    1. **源代码文件**:可能包含一个或多个文件,如`fibonacci.cool`或`fibonacci.py`,它们实现了斐波那契数列的生成逻辑。这些文件通常会有一个函数或类,接收一个参数(如n),返回斐波那契数列的前n个数字。 2. **...

    Fabonaci_asfdsad_

    标题中的"Fibonacci"通常指的是斐波那契数列,这是一种在数学中常见的数列,定义为:每个数字是前两个数字...这两个概念在数学和计算机科学中有不同的应用,但具体的关联性需要通过查看"Fabonaci.py"的源代码才能明确。

    py代码-Fibnaqi

    在提供的压缩包文件中,`main.py`很可能是包含斐波那契序列实现的Python源代码文件。通常,`main.py`是程序的入口点,开发者在这里定义函数或者类,然后在文件末尾调用它们以执行程序。 `README.txt`文件通常是项目...

    函数编程题作业.rar

    7. **装饰器**:装饰器是Python中的一种特殊类型函数,可以修改或增强其他函数的行为,而无需改动其源代码。它们通过在函数定义前加上`@decorator`语法进行应用。 8. **函数式编程库如functools和itertools**:这些...

    feibonaqi.rar_feibonaqi

    另一个文件名为“斐波那契”,可能是一个源代码文件,例如Python、Java、C++等语言实现的斐波那契算法。根据文件扩展名,如果它是.py、.java或.cpp,那么它应该是一个可执行的代码文件。代码中可能包含了如下的伪...

    yacaree-开源

    通过这些源代码,开发者可以深入了解关联规则挖掘的实现细节,学习如何使用闭包方法来提升挖掘效率,以及如何构建和优化数据结构来处理大规模数据。对于希望扩展或修改现有关联规则挖掘工具的开发者来说,这是一个极...

    Python库 | fastFibpkg-0.0.1-py3-none-any.whl

    例如,通过阅读源代码,我们可以学习到如何优化递归或迭代算法,以及如何利用Python的特性提高代码效率。 总的来说,fastFibpkg是一个专注于斐波那契数列计算的Python库,它提供了高效的解决方案,使得开发者能够在...

    Python库 | PyDSALib-0.2-py3-none-any.whl

    与传统的`.tar.gz`或`.zip`源代码包不同,`.whl`文件已经包含了编译好的Python扩展模块,对于依赖于特定平台的库,如包含C扩展的库,使用`.whl`可以避免因编译问题产生的安装困难。 **PyDSALib库的核心功能** ...

    Python库 | first_generator-0.1-py3-none-any.whl

    在Python生态系统中,whl文件是pip安装过程中的常见组件,它允许用户无需编译源代码就能快速安装库。 描述中提到这个资源是"解压后可用"的,这意味着它是一个可以直接通过pip安装的Python库,无需手动解压缩。...

    Python库 | LstGen-0.5.3.tar.gz

    这个资源名为`LstGen-0.5.3.tar.gz`,是一个压缩文件,通常包含源代码、文档和其他相关资源。 ### 1. Python库的使用 Python库通常以`.py`文件或`.whl`、`.tar.gz`等打包形式分发。`.tar.gz`是一个常见的归档格式...

    江苏省盐城市东台创新高级中学2020-2021学年高一下学期4月份检测信息技术试题 .doc

    3. **Python程序文件扩展名**:Python源代码文件的扩展名是.py,因此正确答案是D,`.py`。 4. **Python内置函数**:ord()函数用于获取字符的ASCII码,bin()函数将十进制数转换为二进制字符串,chr()函数将ASCII码...

    CS106A:斯坦福CS106A课程的内容,代码和作业

    - 代码示例:Java源代码文件,展示各种编程概念的应用。 - 作业和项目:提供练习和项目题目,以加深对课程内容的理解。 - 解答和测试套件:包含作业和项目题目的参考解答,以及用于测试代码正确性的测试用例。 - ...

    BFD Fibonacci Pattern Inkscape Extension:用于生成斐波那契图案的Inkscape插件-开源

    2. **透明**:源代码公开,用户可以查看其工作原理,甚至根据自己的需求进行修改和定制。 3. **社区支持**:得益于开源社区,用户可以在遇到问题时寻求其他用户的帮助,或者参与到插件的改进和更新中来。 4. **持续...

Global site tag (gtag.js) - Google Analytics