نظرة عامة على المشروع
جزء من قسم Object Oriented Programming في رحلة Python على Coddy — الدرس 55 من 64.
التحدي
متوسطفي هذا التحدي، ستقوم بتنفيذ الأساس لنظام إدارة المكتبة.
قم بتحرير library.py لتنفيذ الفئات المطلوبة باتباع تعليقات TODO. يحتوي ملف المشغل (driver file) على سيناريوهات اختبار شاملة تتحقق من صحة تنفيذك.
- اتبع تعليقات TODO في
library.pyللحصول على إرشادات خطوة بخطوة - قم بتنفيذ فئة
Libraryمع التهيئة المناسبة والتمثيل النصي (string representation)
ورقة مرجعية
يركز التحدي على تنفيذ نظام إدارة مكتبة بهيكل فئات مناسب وطرق تمثيل السلسلة النصية. لم يتم توفير محتوى درس محدد لإنشاء ملخص شامل.
جرّب بنفسك
# 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: 0
# TODO: طباعة طول قائمة المستخدمين بالتنسيق: 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 length: 0
# TODO: طباعة طول قائمة المستخدمين بالتنسيق: Users length: 0
# تلميح: استخدم f-strings، على سبيل المثال print(f"Books length: {len(library.books)}")
pass
elif test_case == "type_validation":
# TODO: إنشاء مكتبة بالعدد الصحيح 123 كاسم
# TODO: طباعة كائن المكتبة (يجب أن يتحول إلى سلسلة نصية)
passجميع دروس Object Oriented Programming
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsمعامل selfMethodsAttributesدالة البناء (__init__)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةدالة ()superإعادة تعريف الدوال (Method Overriding)الوراثة المتعددةترتيب استدعاء الدوال (Method Resolution Order)مراجعة - هيكلية الموظفين5تعدد الأشكال
مراجعة إعادة تعريف الدوالمفهوم Duck Typingالأصناف والدوال المجردةتصميم الواجهاتملخص - حاسبة الأشكال3خصائص الـ Class
متغيرات الـ Instance مقابل متغيرات الـ ClassProperty Decoratorsالسمات الخاصةمراجعة - مدير الحساب البنكي6التغليف (Encapsulation)
الأعضاء العامة والمحمية والخاصةمحددات الوصولإخفاء المعلوماتProperty Decorators متقدمةمراجعة - نظام سجلات الطلاب12مشروع: إدارة المكتبة
نظرة عامة على المشروعفئات الكتاب والمستخدم