Python 入門指南 5.0
exercise1410.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # 定義計算費氏數列的迭代器 class Fibonacci: # 設定實體屬性 def __init__(self, number): # 設定迭代器的最大數量 self.number = int(number) # 累計迭代器的數量 self.count = 0 # 迭代器初始化並且回傳迭代器本身 def __iter__(self): # 迭代器初始化 self.f0 = 0 self.f1 = 1 # 回傳迭代器本身 return self # 回傳迭代器的下一個物件 def __next__(self): # 計數遞增以符合結束條件 self.count += 1 # 計算下一個迭代器物件 if self.count <= self.number: # 處理第一個數字 if self.count == 1: # 回傳第一個數字 return self.f1 # 處理第二個以後的數字 else: # 計算費氏數列 result = self.f0 + self.f1 self.f0 = self.f1 self.f1 = result # 回傳第二個以後的數字 return result else: # 超出迭代器範圍 raise StopIteration # 使用者輸入 n1 = input("請輸入整數:") # 建立費氏數列產生器 n = Fibonacci(n1) # 印出階乘中的所有數字 for i in n: print(i) # 檔名: exercise1410.py # 說明:《Python入門指南》的練習 # 網站: http://kaiching.org # 作者: 張凱慶 # 時間: 2023 年 9 月 |