`

你能用几种方式写出fib

fib 
阅读更多

       def fib1(n):

    a, b = 0, 1
while n >0:
        n -= 1
a, b = b ,a + b
        if b > 30:
            break
        else:
            yield b


def fib2():
    a, b = 0, 1
fibs = []
    for i in range(10):
        a, b = b, a+b
        fibs.append(b)
    return fibs


def fib3(n):
    if n == 0 :
        return 0
elif n == 1:
        return 1
else:
        return fib3(n-1) + fib3(n-2)


import itertools
def fib4():
    a, b = 0, 1
while 1:
        yield b
        a, b = b, a+b

reference
https://foofish.net/iterators-vs-generators.html

 

分享到:
评论

相关推荐

    java实现Fibonacci数列

    根据给定文件的信息,我们可以详细地探讨如何使用Java来实现Fibonacci数列,并通过具体的代码示例来深入了解这一主题。 ### Java实现Fibonacci数列 #### 1. Fibonacci数列简介 Fibonacci数列是一系列数字,其中每...

    Y分钟学习X种语言

    也许几个小时你就能熟悉一种语言的基本知识,但熟练掌握至少要几个星期,而精通,那就 要至少几个月了。 想写出自己的编程语言吗?Pete Sestoft的《程序设计语言概念》对这个主题提供了很好的 介绍。 十分钟学习十种...

    斐波那契数列python.pdf

    斐波那契数列的前几项是0, 1, 1, 2, 3, 5, 8, 13, 21, ...,并且这个序列呈现出许多有趣的特性。 在Python中,我们可以使用两种主要的方法来实现斐波那契数列的计算:循环和递归。这两种方法各有优缺点,具体选择哪...

    2015年5月烽火笔试题

    - 用if写出float x与零值比较的判断语句 - 1、1、2、4、……用递归算出第20个值 - 查找两个字符串最大公共子字符串 **解析**: - **浮点数与零的比较**: 浮点数不能直接与0做精确比较,因为可能存在精度损失。 ```...

    第七天---唐·斐波那契(Don-Fibonacci):一个获取斐波那契序列第n个项JavaScript程序

    斐波那契序列是一个在计算机科学和数学领域中常见的数列,它的定义是这样的:序列中的每个数字是前两...通过研究这个项目,开发者可以提升对JavaScript的理解,学习如何解决实际问题,以及如何写出高效、可维护的代码。

    入门学习Linux常用必会60个命令实例详解doc/txt

    Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD- ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。仅当无用户正在使用光盘时,该命令才会成功。...

    使用C++递归求解跳台阶问题

    可以写出递归关系式: `Fib(n) = Fib(n-1) + Fib(n-2)` 这个递归公式与著名的斐波那契数列的定义非常相似。实际上,跳台阶问题就是斐波那契数列的一个实例,只是在最初的几项上有所不同,因为斐波那契数列的前两项...

    Python中关于使用模块的基础知识

    主要有以下几种作用域: - **局部作用域**:在函数内部定义的变量只在该函数内部有效。 - **全局作用域**:在整个模块内定义的变量可以在整个模块中使用。 - **内置作用域**:Python有一些内置的全局变量,比如`len...

    使用python求斐波那契数列中第n个数的值示例代码

    以下是三种使用Python实现斐波那契数列的方法: 1. **使用for循环**: 这是最直观的方法,通过循环迭代计算每一项。在给定的例子中,我们初始化变量`n_1`和`n_2`为斐波那契数列的前两个数,然后在循环中更新它们的...

    语言程序设计课后习题答案

    2-5 请写出C++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。 解: const float PI = 3.1416; float a = PI; 2-6 在下面的枚举类型中,Blue的值是多少? enum COLOR { WHITE, BLACK = ...

    飞秒激光微加工制造高Q铌酸锂微谐振器

    之所以能实现这种高效率、高精度的纳米级微谐振器加工,关键在于这两种技术的结合使用。 文中提到的Q因子是衡量微谐振器性能的一个重要参数,它表征了谐振器对电磁能量的储存能力。Q值越高,谐振器的性能越好,损耗...

Global site tag (gtag.js) - Google Analytics