`
ay_guobo
  • 浏览: 115975 次
  • 性别: Icon_minigender_1
  • 来自: 札幌
社区版块
存档分类
最新评论

菜鸟学Python - 斐波那契数列(二)

 
阅读更多

上一次我们写了一个关于斐波那契数列的程序,为了提高对Python的灵活运用,这次再写一个小程序。
大家可以比较一下每个程序的优势,看看是否得到什么灵感。

01 import sys
02 
03 # Here's our main function. Python is pretty efficient here. You
04 # should notice that there are no braces. Python is dependant on
05 # whitespace to define blocks.
06 
07 def main():
08   print "\nHow many numbers of the sequence would you like?"
09   n = int(sys.stdin.readline())
10   fibonacci(n)
11 
12 # Here's the fibonacci function. Like in Perl, you can assign multiple
13 # variables on a line without using a temporary variable. Also, the for 
14 # loop here works more like a foreach loop by setting a range from 0 to n.
15 
16 def fibonacci(n):
17   a,b = 0,1
18   for i in range(0,n):
19     print a
20     a,b, = b,a+b
21 
22 main()

菜鸟学Python - 斐波那契数列(Fibonacci)- 续(一) - 梦想社 - 梦想社两个函数实现了这个算法:
1、main函数主要是获取用户输入,并执行程序。
2、fibonacci函数就是主要的算法实现了。
3、大家关键是看看程序的第20行,这个是程序的亮点。
如果是java呢?
0
1
分享到:
评论
2 楼 ay_guobo 2011-10-30  
mirguest 写道
给楼主一个更牛的:
def fib( ):
    ''' Unbounded generator for Fibonacci numbers '''
    x, y = 0, 1
    while True:
        yield x
        x, y = y, x + y
if __name__ == "__main__":
    import itertools
    print list(itertools.islice(fib( ), 10))

谢谢哈

不错不错,但是对于我这菜鸟来说 itertools 很少用 学习了

startNumber = int(raw_input("Enter the start number here "))
endNumber = int(raw_input("Enter the end number here "))

def fib(n):
    if n < 2:
        return n
    return fib(n-2) + fib(n-1)

map(fib, range(startNumber, endNumber))

这个怎么样
1 楼 mirguest 2011-10-30  
给楼主一个更牛的:
def fib( ):
    ''' Unbounded generator for Fibonacci numbers '''
    x, y = 0, 1
    while True:
        yield x
        x, y = y, x + y
if __name__ == "__main__":
    import itertools
    print list(itertools.islice(fib( ), 10))

相关推荐

    python-算法-斐波那契数列

    算法学习-斐波那契数列

    程序设计-python案例-斐波那契数列

    python零基础初学者 体验程序

    算法-数论- 斐波那契数列(Fibonacci).rar

    这个数列由意大利数学家斐波那契(Leonardo Fibonacci)在13世纪引入,用于模拟兔子繁殖的问题,因此也被称为“兔子数列”。数列的定义非常简单:第一项是0,第二项是1,之后每一项都是前两项之和。用数学公式表示...

    Python实现斐波那契数列

    程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、…… 在数学上,费波那契数列是以递归的方法来定义: F0 = 0 (n=0) F1 = 1 (n=1) Fn ...

    汇编语言-输出斐波那契数列前N项.rar

    汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出...

    Python编程题-斐波那契数列.docx

    1. 定义一个名为`fibonacci`的函数,参数为`n`,表示要计算的斐波那契数列的项数。 2. 初始化一个列表`fib_list`,包含斐波那契数列的前两项0和1。 3. 使用for循环,从第三项(索引为2)开始迭代,直到第n项。在每次...

    算法-斐波那契数列(信息学奥赛一本通-T1159)(包含源程序).rar

    斐波那契数列是计算机科学中一个非常基础且重要的概念,它在信息学奥赛中经常被用作考察参赛者算法思维和编程能力的题目。这个压缩包文件"算法-斐波那契数列(信息学奥赛一本通-T1159)(包含源程序).rar"显然包含...

    python-斐波那契问题代码

    python-斐波那契问题代码

    07-斐波那契数列的实现.txt

    根据给定文件的信息,我们可以总结出以下关于斐波那契数列的知识点: ### 一、斐波那契数列的定义与特性 斐波那契数列是一种经典的数列,其每一项数字都是前两项数字之和。该数列在数学、计算机科学以及自然界中都...

    Fibonacci数列斐波那契数列PPT学习教案.pptx

    "Fibonacci数列斐波那契数列PPT学习教案.pptx" Fibonacci数列是一种非常重要的数学概念,它的应用非常广泛,包括生物学、经济学、计算机科学等领域。下面我们将详细介绍Fibonacci数列的概念、性质和应用。 1. ...

    Java 实例 - 斐波那契数列源代码-详细教程.zip

    斐波那契数列是计算机科学中一个经典的概念,它在算法设计、数据结构和许多其他领域都有广泛应用。这个教程的标题"Java 实例 - 斐波那契数列源代码-详细教程.zip"表明我们将深入探讨如何用Java语言实现斐波那契数列...

    蓝桥杯--Fibonacci 数列与黄金分割 c/c++

    Fibonacci 数列是非常著名的数列: F[1] = 1, F[2] = 1, 对于 i &gt; 3,F[i] = F[i − 1] + F[i − 2] Fibonacci 数列有一个特殊的性质,前一项与后一项的比值,F[i]/F[i + 1], 会趋近于黄金分割。 为了验证这一性质,...

    python斐波那契数列第n项.docx

    在Python中,我们可以采用两种主要方法来计算斐波那契数列的第n项: 1. **递归方法**: 这种方法基于斐波那契数列的定义,通过递归调用自身来计算每一项。代码如下: ```python def fibonacci(n): if n ...

    Labview-斐波那契数列.rar

    使用LabVIEW的动态调用方式实现斐波那契数列(Fibonacci数列)。斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21…… 这个数列从第三项开始,每一项都等于前两项之和。在数学上表述为:f(n)=f(n-1)+f(n-2...

    fuziwang#review#递归和循环--斐波那契数列1

    在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n&gt;=3,n∈N*)// 方法一:int F

    python 实现斐波那契数列

    # 题目:斐波那契数列。 # 程序分析:斐波那契数列(Fibonacci sequence),从1,1开始,后面每一项等于前面两项之和。图方便就递归实现,图性能就用循环。

    基础算法-python斐波那契数列

    【基础算法】-python斐波那契数列 # 1、生成器 def fib_yield_while(max): a, b = 0, 1 while max &gt; 0: a, b = b, a+b max -= 1 yield a def fib_yield_for(n): a, b = 0, 1 for _ in range(n): a, b...

    蓝桥杯Scratch-斐波那契数列

    斐波那契数列

    Scratch少儿编程项目源代码文件案例蓝桥训练-斐波那契数列.zip

    本压缩包"Scratch少儿编程项目源代码文件案例蓝桥训练-斐波那契数列.zip"包含了关于斐波那契数列的一个编程项目,旨在帮助孩子们理解这一数学概念,并运用到编程实践中。 斐波那契数列是一个著名的数学序列,起始于...

    算法设计-实验一-斐波那契数列.docx

    斐波那契数列是计算机科学中一个基础且重要的概念,它在算法设计和问题解决中扮演着不可或缺的角色。这个数列由0和1开始,后续的每个数字都是前两个数字的和。数学上,斐波那契数列可以用递归的形式表示为:F(0) = 0...

Global site tag (gtag.js) - Google Analytics