码迷,mamicode.com
首页 > 编程语言 > 详细

Python实现斐波那契数列

时间:2019-12-02 23:33:29      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:风格   ext   +=   __iter__   ret   next   pytho   style   elf   

1、最普通的写法

def fibonaci(num):
    a = 0
    b = 1
    print(a, end=" ")
    for _ in range(num):
        c = a + b
        a = b
        b = c
        print(a, end=" ")

fibonaci(10)

2、Python风格的写法

def fibonaci(num):
    a = 0
    b = 1
    print(a, end=" ")
    for _ in range(num):
        a, b = b, a+b
        print(a, end=" ")

fibonaci(10)

3、Python的迭代器实现

class Fibonacci:
    def __init__(self, max_num):
        self.max_num = max_num
        self.current_num = 0
        self.first_num = 0
        self.second_num = 1

    def __iter__(self):
        return self

    def __next__(self):
        if self.current_num < self.max_num:
            result = self.first_num
            self.first_num, self.second_num = self.second_num, self.first_num + self.second_num
            self.current_num += 1
            return result
        else:
            raise StopIteration


# 创建斐波那契额对象
f = Fibonacci(10)
for i in f:
    print(i, end= )

 

Python实现斐波那契数列

标签:风格   ext   +=   __iter__   ret   next   pytho   style   elf   

原文地址:https://www.cnblogs.com/zhirou/p/11973629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!