البرمجة بلغة بايثون — مشروع إدارة مكتبة صغيرة — الإعلام الآلي — السنة الرابعة متوسط — المنهاج الجزائري
في هذا المشروع سنبني نظاماً بسيطاً لإدارة مكتبة صغيرة باستخدام لغة بايثون. سيتعامل التطبيق مع إدارة الكتب باستخدام القوائم والقواميس والملفات.
1. وصف المشروع
النظام سيسمح بإضافة كتب جديدة، عرض قائمة الكتب، البحث عن كتاب، حذف كتاب، وحفظ البيانات في ملف.
2. هيكل البيانات
سنستخدم قاموساً لتخزين كل كتاب، حيث المفتاح هو رقم ISBN والقيمة هي قاموس يحتوي على عنوان الكتاب، المؤلف، والسنة.
books = {
"978-0-123456-47-2": {"title": "مقدمة في بايثون", "author": "أحمد", "year": 2020},
"978-0-123456-48-9": {"title": "الخوارزميات", "author": "سارة", "year": 2021},
}
3. الوظائف الرئيسية
سيحتوي البرنامج على الدوال التالية:
def add_book(books):
isbn = input("أدخل ISBN: ")
title = input("أدخل العنوان: ")
author = input("أدخل المؤلف: ")
year = input("أدخل السنة: ")
books[isbn] = {"title": title, "author": author, "year": year}
print("تمت الإضافة بنجاح!")
def display_books(books):
if not books:
print("لا توجد كتب في المكتبة.")
else:
for isbn, info in books.items():
print(f"ISBN: {isbn}")
print(f" العنوان: {info['title']}")
print(f" المؤلف: {info['author']}")
print(f" السنة: {info['year']}")
print("-" * 20)
def search_book(books):
title = input("أدخل عنوان الكتاب للبحث: ")
found = False
for isbn, info in books.items():
if title.lower() in info['title'].lower():
print(f"ISBN: {isbn} - {info['title']} - {info['author']}")
found = True
if not found:
print("لم يتم العثور على الكتاب.")
4. حفظ البيانات
استخدام JSON لحفظ وتحويل البيانات:
import json
with open("library.json", "w") as f:
json.dump(books, f)
with open("library.json", "r") as f:
books = json.load(f)
تمارين
- أضف ميزة حذف كتاب من المكتبة.
- أضف ميزة تعديل معلومات كتاب موجود.
- أضف ميزة عرض عدد الكتب في المكتبة.
دروس مشابهة
- إنشاء موقع ويب — أساسيات HTML — الإعلام الآلي — السنة الأولى متوسط — المنهاج الج
- الإعلام الآلي — DNS (ملخص) — السنة الثالثة ثانوي
- مقدمة في بايثون — الإعلام الآلي — السنة الأولى متوسط — المنهاج الجزائري
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.