python進階知識之迭代器和生成器---斐波那契數列

迭代和斐波那契數列

def fbn(a  ,b ):
    while 1:
        a,b = b,a+b
        yield b
        
def come(a = 1,b = 1,num = 10):
    c = iter(fbn(a,b))
    d = 0
    if num >= 0:
        if num == 1:
            print(a)
        if num == 2:
            print(a,b,sep = ',')
        if num > 2:
            print(a,b,sep = ',',end=',')
            for i in range(num-2):
                d += 1
                print(next(c),end=',')
    else:
        print("\n**輸入不能爲負數**\n")

            
    
    print("初始數據爲:{},{}\n一共完成{}次迭代\n".format(a,b,d))

if __name__ == '__main__':
    while 1:
        try:
            num = int(eval(input("斐波那契數個數:")))
            
            come(num = num)
        except Exception as e:
            print("\n**輸入格式錯誤-----輸入只能是正整數**\n\n具體:{}".format(e))
    print("退出函數!")
        

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章