סקירת הפרויקט
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Python של Coddy. שיעור 55 מתוך 64.
אתגר
בינוניבאתגר הזה תיישמו את הבסיס למערכת לניהול ספרייה.
ערכו את library.py כדי לממש את המחלקות הנדרשות בהתאם להערות TODO. קובץ מנהל ההתקן מכיל תרחישי בדיקה נרחבים לאימות המימוש שלכם.
- פעלו לפי הערות TODO שב-
library.pyלקבלת הנחיות שלב אחר שלב - ממשו את המחלקה
Libraryעם אתחול וייצוג כמחרוזת מתאימים
נסו בעצמכם
# TODO: ייבאו את המחלקה Library מתוך library.py
# השתמשו בתבנית: from library import Library
# טיפול מקיף במקרי בדיקה
test_case = input()
if test_case == "basic_library_creation":
# TODO: צרו ספרייה בשם "Test Library"
# TODO: הדפיסו את אובייקט הספרייה (פעולה זו תקרא למתודה __str__)
pass
elif test_case == "library_attributes":
# TODO: צרו ספרייה בשם "Test Library"
# TODO: הדפיסו את מאפיין השם של הספרייה בתבנית: Name: Test Library
# TODO: הדפיסו את אורך הרשימה books בתבנית: Books: 0
# TODO: הדפיסו את אורך הרשימה users בתבנית: Users: 0
# רמז: השתמשו ב־f-strings, למשל print(f"Name: {library.name}")
pass
elif test_case == "multiple_libraries":
# TODO: צרו שתי ספריות שונות בשמות "Library 1" ו־"Library 2"
# TODO: הדפיסו את שני אובייקטי הספרייה
pass
elif test_case == "empty_name":
# TODO: צרו ספרייה עם מחרוזת ריקה כשם
# TODO: הדפס את אובייקט הספרייה
pass
elif test_case == "special_characters":
# TODO: צור ספרייה בשם "!@#$%^&*()"
# TODO: הדפס את אובייקט הספרייה
pass
elif test_case == "very_long_name":
# TODO: צור ספרייה עם שם המורכב מ-100 תווי 'A' בדיוק (השתמש ב-"A" * 100)
# TODO: הדפס את אובייקט הספרייה
pass
elif test_case == "add_books_users":
# TODO: צרו ספרייה בשם "Test Library"
# TODO: הוסף את הפריטים האלה לרשימת הספרים: ["Book1", "Book2", "Book3"]
# TODO: הוסף את הפריטים האלה לרשימת המשתמשים: ["User1", "User2"]
# TODO: הדפס את אובייקט הספרייה (אמור להציג ספירות מעודכנות)
pass
elif test_case == "empty_lists":
# TODO: צרו ספרייה בשם "Test Library"
# TODO: הדפיסו את אורך הרשימה books בתבנית: Books length: 0
# TODO: הדפיסו את אורך הרשימה users בתבנית: Users length: 0
# רמז: השתמש ב-f-strings, למשל print(f"Books length: {len(library.books)}")
pass
elif test_case == "type_validation":
# TODO: צור ספרייה עם המספר השלם 123 בתור השם
# TODO: הדפס את אובייקט הספרייה (אמור להמיר למחרוזת)
passכל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים (OOP)
קבצים חיצונייםמבוא ל-OOPמחלקות לעומת אובייקטיםהפרמטר selfמתודותמאפייניםשיטת הבנאי (__init__)חזרה: מחשבון פשוט5פולימורפיזם
בחינה מחדש של דריסת מתודותטיפוסיות ברווזמחלקות ומתודות אבסטרקטיותעיצוב ממשקיםסיכום – מחשבון צורות8מושגים מתקדמים בתכנות מונחה עצמים
קומפוזיציה לעומת הורשהMixinsמתודות סטטיות ומתודות מחלקהדקורטורים למחלקותמנהלי הקשרתרגלו בעצמכם: קומפיילר Python אונליין