Menu
Coddy logo textTech

איטרטור פיבונאצ'י

שיעור 11 מתוך 13 בקורס איטרטורים ב-Python של Coddy.

challenge icon

אתגר

קל

צרו מחלקה בשם 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 אונליין