איטרטור פיבונאצ'י
שיעור 11 מתוך 13 בקורס איטרטורים ב-Python של Coddy.
אתגר
קלצרו מחלקה בשם FibonacciIterator שמייצרת מספרי פיבונאצ'י עד לגבול שצוין. המחלקה צריכה לממש את פרוטוקול האיטרטור ולכלול את המתודות הבאות:
__init__(self, limit): אתחלו את האיטרטור עם גבול.__iter__(self): החזירו את אובייקט האיטרטור עצמו.__next__(self): צרו את מספר פיבונאצ'י הבא או העלו את StopIteration כאשר מגיעים לגבול.
לאחר מימוש המחלקה FibonacciIterator, צרו מופע שלה באמצעות ערך הקלט כגבול. לאחר מכן, עברו על מספרי פיבונאצ'י והדפיסו כל מספר בשורה חדשה, עד שהחריג StopIteration יעלה.
הקלט הבא יסופק:
- מספר שלם שמייצג את הגבול העליון של סדרת פיבונאצ'י
נסו בעצמכם
# קראו את הקלט
limit = int(input())
class FibonacciIterator:
def __init__(self, limit):
self.limit = limit
# TODO: אתחלו מאפיינים נחוצים נוספים
def __iter__(self):
# TODO: ממשו את המתודה __iter__
def __next__(self):
# TODO: ממשו את המתודה __next__
# צרו מופע של FibonacciIterator
fib_iterator = FibonacciIterator(limit)
# TODO: עברו על מספרי פיבונאצ'י והדפיסו כל מספר
# רמז: השתמשו בלולאת for או בלולאת while עם try-except כדי לטפל ב-StopIteration
# דוגמה להדפסת מספר פיבונאצ'י:
# print(fib_number)כל השיעורים ביחידה איטרטורים ב-Python
תרגלו בעצמכם: קומפיילר Python אונליין