python编码-斐波那契

1

    def __init__(self):
        self.a,self.b = 0 ,1  # 初始化两个计数器a,b

    def __iter__(self):  # 实例本身就是迭代对象,故返回自己
        return self

    def __next__(self):
        self.a,self.b = self.b,self.a+self.b  # 计算下一个值
        if self.a > 100:                # 退出循环的条件
            raise StopIteration()
        return self.a               # 返回下一个值

for n in Fib():
    print(n)

2.单个输出第t个数

def fib(num):

    a,b,c=1,1,0
    if num <=0:
        print ('wrong')
    if num > 0 and num <= 2:
        print ('1')
    else:
        while num > 2:
            a,b =b,a+b
            num = num-1
        print (b)
            
    return 0

t = 3
fib(t)

注意:a,b = b,a+b相当于(a,b)= (b,a+b)

3.从第一位输出直到第n个数

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        print(b)
        a, b = b, a + b
        n = n + 1
    return 'done'

>>> fib(6)
1
1
2
3
5
8
'done'
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,714评论 0 13
  • 食:三月的最后一天,我下载了食谱,开始轻卡饮食,结果早上中午太重视,吃的虽然撑到了却缺主食,导致下午天还没黑就饿得...
    bony阅读 1,117评论 0 0
  • 生薇薇那天,疼了近三十个小时,终于感觉顺产无望,转剖,做皮试的时候,护士动作失误,右手腕突然飙出一小股血来,若...
    浪里个浪77阅读 2,981评论 0 0
  • 金句-你在未来某一天成功后,一定会感谢当年苦逼加班的自己 花了三小时因买到了便宜三百块的货而高兴_--你的时间是有...
    伦敦见伦敦阅读 1,216评论 0 0

友情链接更多精彩内容