生成器实现斐波那契数列

#生成器生成斐波那契数列   def Fibnacc(num):
 2     a= 1
 3     b = 1
 4     current_index = 0
 5     while current_index<num:
 6         data = a
 7
 8         current_index+=1
 9         a,b=b,a+b
10         yield data
11 #         yield:1.充当返回值的作用2.保存程序的运行状态,并且暂停程序执行3.当next的时候,可以继续换行程序从yield位置继续向下
12 #             执行
13
14 if __name__ == ‘__main__‘:
15     fib = Fibnacc(6)
16     for i in range(6):
17         value = next(fib)
18         print(i,"列",value)

原文地址:https://www.cnblogs.com/liuxjie/p/11991629.html

时间: 2024-08-28 15:25:49

生成器实现斐波那契数列的相关文章

Python生成器实现斐波那契数列

比如,斐波那契数列:1,1,2,3,5,8,13,21,34.... 用列表生成式写不出来,但是我们可以用函数把它打印出来: def fib(number): n, a, b = 0, 0, 1 while n < number: print(b) a, b = b, a + b n = n + 1 return 'OK!' print(fib(5)) 结果: 1 1 2 3 5 OK! 我们可以看出从第一个元素开始,推算出后续任意的元素.很像generator. 要把fib函数变成genera

购物登陆,列表生成式,生成器,斐波那契数列,yield伪并发,迭代器,时间模块,random模块

这次内容很多,比较重要 1.购物登陆(伪代码) user = 'hanjie'passwd = 123w_user = 'hanjie123'w_passwd = 123login_states = False def login(): if login_states== False: if auth_type == "jingdong": username = input ('please enter your username:') password = input ('pleas

Python入门:生成器应用-斐波拉契数列

例子: 1,1,2,3,5,8,13,21...... def fib(max): n,a,b=0,0,1 while n<max: #print(b) yield(b) a,b=b,a+b n+=1 return 'done' f=fib(10) while True: try: x=next(f) print("f:",x) except StopIteration as e: print('Generator return value:',e.value) break 注意

JavaScript生成斐波那契数列

常规写法 https://cn.bing.com/search?q=js+fibonacci+sequence&pc=MOZI&form=MOZSBR //Fibonacci function fibonacci(n) { var array = [0, 1]; for (var i = 2; i <= n; i++) { array.push(array[i - 1] + array[i - 2]); } return array[n]; } var n = 6; var ans

python代码实现斐波那契数列数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 用生成器实现斐波那契数列代码: def fibonacci(n): first = 0 se

补8.python之面向对象(通过__iter__,__next__实现迭代器协议)附带斐波那契数列实现

在前面讲迭代器和生成器原理的时候,就已经说过__iter__方法和__next__方法的作用了,在这里就不做重复描述了. 在这补一个实现迭代器协议的例子. 例1:(在没有抛出StopIteration这个异常之前,这个迭代器会无限的生成值) class c1: def __init__(self,start): self.start = start def __iter__(self): return self def next(self): self.start += 1 return sel

【Python】Python实现斐波那契数列

本节主要实现以下目标: 1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 原文地址:https://www.cnblogs.com/haizhibin1989/p/9158935.html

使用Python实现斐波那契数列

1.递归方法输出斐波那契数列第n个元素的值 2.用迭代器和生成器获取前n个斐波那契数列列表 3.将两种方法写在同一类中 原文地址:https://www.cnblogs.com/legendjaking/p/10587314.html

斐波那契数列的Python实现

? 斐波那契数列的Python实现:递归实现.非递归实现.斐波那契数列生成器: \[ \begin{equation} F(n)= \begin{cases} n & n=0, 1\F(n-1) + F(n-2) & n > 1 \end{cases} \end{equation} \] 递归实现: # python def fib(n): if n <= 1: return n else: return fib(n-1) + fib(n-2) 非递归实现: # python