Python 入門指南 5.0
e1409.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 | # 定義計算階乘的迭代器 class Factorial: # 設定實體屬性 def __init__(self, number): # 設定迭代器的最大數量 self.number = int(number) # 累計迭代器的數量 self.count = 1 # 迭代器初始化並且回傳迭代器本身 def __iter__(self): # 迭代器初始化 self.n = 1 # 回傳迭代器本身 return self # 回傳迭代器的下一個物件 def __next__(self): # 計算下一個迭代器物件 if self.count <= self.number: # 計算階乘 self.n = self.n * self.count # 計數遞增以符合結束條件 self.count += 1 # 回傳 10 的次方值 return self.n else: # 超出迭代器範圍 raise StopIteration # 使用者輸入 n1 = input("請輸入整數:") # 建立 n = Factorial(n1) # 印出階乘中的所有數字 for i in n: print(i) # 檔名: exercise1409.py # 說明:《Python入門指南》的練習 # 網站: http://kaiching.org # 作者: 張凱慶 # 時間: 2023 年 9 月 |