ما رايكم مجموعة من التحديات المتنوعة ممكن تكتبها باي طريقة و اي وسلية ممكنة طالما انك تححق الهدف المطلوب من التحدي حتي لو لم تتوافق مع النقاط الاساسية الخاص بالتحدي جرب و لن تخسر شئ
التحدي الأول: بناء نظام لإدارة المخزون
المهمة:
قم بإنشاء برنامج لإدارة مخزون متجر صغير. يجب أن يكون البرنامج قادرًا على:
- إضافة عناصر جديدة إلى المخزون.
- تحديث كمية العنصر الموجود.
- حذف عنصر من المخزون.
- عرض قائمة بالعناصر المتاحة في المخزون مع كمياتها.
النقاط الأساسية:
- استخدام القوائم والقواميس لتخزين بيانات المخزون.
- استخدام الدوال لتعريف وظائف البرنامج (إضافة، تحديث، حذف، عرض).
- استخدام حلقات تكرارية وجمل شرطية للتحكم في تدفق البرنامج.
نص التحدي:
# أنشئ برنامجًا لإدارة المخزون يحتوي على الوظائف التالية:
# 1. إضافة عنصر جديد إلى المخزون.
# 2. تحديث كمية عنصر موجود.
# 3. حذف عنصر من المخزون.
# 4. عرض العناصر المتاحة مع الكميات.
# يمكنك استخدام القوائم والقواميس والدوال لتحقيق هذا الغرض.
التحدي الثاني: إنشاء تطبيق لإدارة جهات الاتصال
المهمة:
قم بكتابة برنامج لإدارة جهات الاتصال يحتوي على ميزات مثل:
- إضافة جهة اتصال جديدة.
- البحث عن جهة اتصال باستخدام الاسم.
- حذف جهة اتصال.
- عرض جميع جهات الاتصال بترتيب أبجدي.
النقاط الأساسية:
- استخدام القواميس لتخزين معلومات جهات الاتصال.
- استخدام دوال لإدارة جهات الاتصال (إضافة، بحث، حذف، عرض).
- استخدام الجمل الشرطية وحلقات التكرار.
نص التحدي:
# اكتب برنامجًا لإدارة جهات الاتصال يجب أن يحتوي على الوظائف التالية:
# 1. إضافة جهة اتصال جديدة مع اسم ورقم هاتف.
# 2. البحث عن جهة اتصال بالاسم.
# 3. حذف جهة اتصال من القائمة.
# 4. عرض جميع جهات الاتصال بترتيب أبجدي.
# تأكد من التعامل مع الحالات الحديّة مثل البحث عن جهة اتصال غير موجودة.
التحدي الثالث: لعبة تخمين الأرقام مع واجهة تفاعلية
المهمة:
قم بإنشاء لعبة تخمين أرقام بسيطة حيث يقوم البرنامج بتوليد رقم عشوائي بين 1 و100، وعلى المستخدم تخمين الرقم. يجب أن يعرض البرنامج إذا كان التخمين أعلى أو أقل من الرقم الصحيح، وعند الوصول للرقم الصحيح، يعرض عدد المحاولات التي استغرقها المستخدم.
النقاط الأساسية:
- استخدام المكتبة
random
لتوليد رقم عشوائي.
- استخدام حلقات
while
لتكرار الطلب من المستخدم.
- استخدام الجمل الشرطية للتحقق من صحة التخمين.
نص التحدي:
# أنشئ لعبة تخمين رقم بين 1 و100. يجب على البرنامج:
# 1. توليد رقم عشوائي بين 1 و100.
# 2. السماح للمستخدم بإدخال تخمينه.
# 3. إعلام المستخدم إذا كان تخمينه أعلى أو أقل من الرقم الصحيح.
# 4. إنهاء اللعبة عند تخمين الرقم الصحيح وعرض عدد المحاولات.
# تأكد من معالجة إدخال المستخدم بشكل صحيح وتجنب الأخطاء.
التحدي الرابع: نظام لجدولة المهام مع تواريخ انتهاء
المهمة:
قم بكتابة برنامج يسمح للمستخدم بإضافة مهام إلى قائمة مع تواريخ انتهاء. يجب أن يكون البرنامج قادرًا على:
- إضافة مهمة جديدة مع تاريخ انتهاء.
- عرض جميع المهام بترتيب تاريخ الانتهاء.
- حذف مهمة عند الانتهاء منها.
- إشعار المستخدم إذا كانت هناك مهمة قريبة من تاريخ الانتهاء.
النقاط الأساسية:
- استخدام القواميس أو الكائنات لتخزين بيانات المهام.
- استخدام مكتبة
datetime
للتعامل مع التواريخ.
- استخدام الدوال لإدارة المهام وتنظيم البرنامج.
نص التحدي:
# أنشئ برنامجًا لإدارة المهام يحتوي على الوظائف التالية:
# 1. إضافة مهمة جديدة مع تاريخ انتهاء.
# 2. عرض جميع المهام بترتيب تاريخ الانتهاء.
# 3. حذف مهمة عند الانتهاء منها.
# 4. إعلام المستخدم بالمهام التي تقترب من تاريخ الانتهاء (قبل يومين).
# يجب عليك استخدام مكتبة datetime لتحديد تواريخ انتهاء المهام.
بهذه التحديات، ستتعلم المزيد من المفاهيم البرمجية المتقدمة، مثل إدارة البيانات باستخدام الهياكل المعقدة، وتنظيم الكود باستخدام الدوال، والتعامل مع المكتبات الخارجية مثل datetime
.
9 إعجابات
إن شاء الله هبدأ وأحاول حل التحدي التاني
إعجابَين (2)
ما شاء الله على الأفكار التحفيزية لممارسة ما تعلمناه في برامج متعددة
وأحثك على الاستمرار في طرح مثل هذه التحديات لتعم الفائدة أكثر
جزاك الله خيرًا على عملك الدؤوب.
إعجاب واحد (1)
انشاء الله هستمر بتنزيل اربعة تحديات بشكل يومي علي المفاهيم اللي اخذنها في البرمجة علي اكتوكود لصقل مهارتنا اكثر فاكثر لنصبح محترفين
3 إعجابات
ملاحظة أخي بارك الله فيك أظن أننا لم نأخذ أداة تحذف عنصر من القاموس أم الأستاذ ذكرها وأنا نسيت؟
إعجابَين (2)
يعطيك العافية علي طرح التحديات هذه للحل
إعجاب واحد (1)
لا ذكرت في الوحدة الثالثة في المستوي الاول لم طلب منا نعمل مكتبة بتخزن الكتب و بتحدثها باستخدام المجموعات حتي اخنا واحدة بتفحص اللي دخلته مكتوب لا ايه لمنع ايه محاولة لافساد البرنامج
إعجاب واحد (1)
صحيح ولكن أنا أذكر أننا كنا نحدث بالفعل ولكن والله فعلا لا أذكر اذا ذكر أداة لحذف مفتاح كامل من القاموس أم لا! ياريت لو تذكر فعلا وذكرها تقول لي بمثال بسيط او تذكر كيف
إعجاب واحد (1)
ممكن ابعت كود الكتبة عشان تري الاداة اتفضل
library =
dream_library =
book = input(“Enter the name of a book you own:”)
if book:
if book not in library:
library.append(book)
print(f"Added '{book}'to your library")
else:
print(f"The book ‘{book}’ is already in your library.“)
choice = input(“Enter the name of another book you own (or press ‘Enter’ to skip):”)
if choice not in library:
library.append(choice)
print(f"Added '{choice}'to your library”)
else:
print(f"The book ‘{book}’ is already in your library.“)
print(f"Your library:{library}”)
dream = input(“Enter the name of a book you wish to have in the future:”)
if dream:
if dream not in dream_library:
dream_library.append(dream)
print(f"Added ‘{dream}’ to your wish list.“)
else:
print(f"The book ‘{dream}’ is already in your with list.”)
choice_dreem = input(“Enter the name of another book you wish to have (or press ‘Enter’ to skip):”)
dream_library.append(choice_dreem)
print(f"Your Wishlist:{dream_library}“)
take_up =input(“Enter the name of a book from your wish list that you’ve acquired (or press ‘Enter’ to skip):”)
if take_up in dream_library:
dream_library.remove(take_up)
library.append(take_up)
print(f"Updated Library:{library} \nUpdated Withlast:{dream_library}”)
donation =input(“Enter the name of a book from your library you with to donate (or press ‘Enter’ to skip):”)
if donation in library:
library.remove(donation)
print(f"Final library after Donetions:{library}“)
else:
print(“Sorry, you entered the name of a book that is not in the list”)
print(f"Final library after Donetions:{library}”)
else:
print(“Sorry,you entered the name of a book that is not in the list”)
print(f"Updated Library:{library} \nUpdated Withlast:{dream_library}")
else:
print(“You forgot to enter your name boak”)
else:
print(“You forgot to enter your name boak”)
إعجابَين (2)
حبيب قلبي فعلا أنا أذكر هذا المشروع جيدا وأعرف كيف نستخدم الاضافة والحذف عن طريق append و remove ولكن هذا فالقوائم , ولكني أردت القواميس وليس القوائم
إعجابَين (2)
عادي ممكن تحل الكود بالقوائم مش بالقواميس مش شرط تلتزم بالمطلوب المهم تنجح في تنفيذ الكود بالشكل المطلوب لو عاوز ممكن اقولك طريقة حذف المدخلات في القواميس من باب العلم و المعرفة
إعجابَين (2)
تفضل أخي حتي نستفيد جميعا
إعجابَين (2)
تفضل ده جزء من الكود الخاص بحذف القواميس للمعرفة
def delete_item(name):
if name in inventory:
del inventory[name]
print(f"تم حذف {name} من المخزون.")
else:
print(“العنصر غير موجود في المخزون.”)
إعجابَين (2)
ممكن عمله بالقوائم ولكن اري انه بالقواميس سيكون أكثر كفائة فالأداء , بالفعل الاستاذ أعطانا مشروع مثل هذا أذكره كان لتنظيم جهات الاتصال ايضا وكان يستخدم فيه القواميس ولكن لم يكن به حذف جهة اتصال علي ما أذكر
إعجاب واحد (1)
ده تحدي كنوع من الاضافة لانه في الواقع ممكن تضيف و تبحث و تسجل و تبحث في سجلات الهاتف صح فقط للاستفادة
إعجابَين (2)
رائع جدا ما فهمته أنه يوجد أداة للحذف من القواميس وهي del , مع أن الاستاذ لم يشرحها ولكني أشكرك علي هذه الاضافة
إعجابَين (2)
عادي و لا يمهك المهم نفيد و نتعلم مع بعض لتحسين مستوي بعض لكن ممكن تحل التحديات باي طريقة تعجبك عادي المبرمج لا يسير فوق نصوص او طرق معينة للحل ممكن يبتكر طرق جديدة غير معروفة للحل او كتابة البرامج دي فائدة و اسمها اللمسة البشرية الا هو الابداع
إعجاب واحد (1)
ولكن أخي لا تنزل تحديات جديدة قبل أن نقوم بحل هذه التحديات , أقصد البعض مثلي سيتأخر في حل مثل هذه التحديات , فعندما نحلها أولا نزل تحديات جديدة أرجو أن أكون وضحت هذه النقطة
إعجابَين (2)
عادي انا قررت انشاء الله هنزل اربعة تحديات كل يوم يعني في اليوم الواحد اربعة تحديات فقط
إعجاب واحد (1)
حل التحدي الثالث الخاص بتخمين الارقام كما في الصور الآنية اولا الكود
إعجابَين (2)