python各種方法實(shí)現(xiàn)斐波那契數(shù)列

'''斐波那契數(shù)列專題 使用現(xiàn)在學(xué)習(xí)的各種方法'''

# 數(shù)組實(shí)現(xiàn)
my_list = [1, 1]
for i in range(2, 10):
    my_list.append(my_list[i-2]+my_list[i-1])
print('數(shù)組   ', my_list)

# 交換變量
a = b = 1
for i in range(10-2):
    a, b = b, a+b
print('交換變量 ', b)

# 遞歸與尾遞歸
def fbi(n):
    if n < 3:
        return 1
    else:
        return fbi(n-2)+fbi(n-1)


def xfbi(n, i, j):
    if n < 3:
        return j
    else:
        return xfbi(n-1, j, i+j)


print('遞歸   ', fbi(10))
print('尾遞歸  ', xfbi(10, 1, 1))


# 迭代器


class MylistIter(object):
    def __init__(self, n):
        self.n = n
        self.i = 1
        self.j = 1

    def __next__(self):
        if self.n > 0:
            v = self.i
            self.i, self.j = self.j, self.i + self.j
            self.n -= 1
            return v
        else:
            raise StopIteration

    def __iter__(self):
        return self


class Mylist(object):

    def __init__(self, n):
        self.n = n

    def __iter__(self):
        return MylistIter(self.n)


for i in Mylist(10):
    pass

print('迭代器1   ', i)



class MylistIter2(object):
    def __init__(self):
        self.i = 1
        self.j = 1

    def __next__(self):
        v = self.i
        self.i, self.j = self.j, self.i + self.j
        return v

    def __iter__(self):
        return self


i = 0
myiter = MylistIter2()
while i < 10:
    a = next(myiter)
    i += 1

print('迭代器2  ', a)

# 生成器
def fun():
    i,j = 1, 1
    for n in range(100):
        yield i
        i, j = j, j+i

f = fun()
for i in range(10):
    b = next(f)

print('生成器  ', b)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市革砸,隨后出現(xiàn)的幾起案子氢橙,更是在濱河造成了極大的恐慌甩鳄,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件供炎,死亡現(xiàn)場離奇詭異渴逻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)碱茁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門裸卫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纽竣,你說我怎么就攤上這事墓贿。” “怎么了蜓氨?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵聋袋,是天一觀的道長。 經(jīng)常有香客問我穴吹,道長幽勒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任港令,我火速辦了婚禮啥容,結(jié)果婚禮上锈颗,老公的妹妹穿的比我還像新娘。我一直安慰自己咪惠,他們只是感情好击吱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遥昧,像睡著了一般覆醇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炭臭,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天永脓,我揣著相機(jī)與錄音,去河邊找鬼鞋仍。 笑死常摧,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的威创。 我是一名探鬼主播排宰,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼那婉!你這毒婦竟也來了板甘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤详炬,失蹤者是張志新(化名)和其女友劉穎盐类,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呛谜,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡在跳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了隐岛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猫妙。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖聚凹,靈堂內(nèi)的尸體忽然破棺而出割坠,到底是詐尸還是另有隱情,我是刑警寧澤妒牙,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布彼哼,位于F島的核電站,受9級特大地震影響湘今,放射性物質(zhì)發(fā)生泄漏敢朱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拴签。 院中可真熱鬧孝常,春花似錦、人聲如沸蚓哩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杖剪。三九已至,卻和暖如春驰贷,著一層夾襖步出監(jiān)牢的瞬間盛嘿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工括袒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留次兆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓锹锰,卻偏偏與公主長得像芥炭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恃慧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容