البرمجة

تحسين وتصحيح أخطاء برمجية Python لمؤقت الطعام

في البداية، يظهر أن لديك بعض الأخطاء في النص البرمجي الخاص بك التي تحتاج إلى تصحيح. سأساعدك في فحص الشيفرة وتصحيح الأخطاء لتحسين أداء برنامجك.

أولًا، يجب عليك استخدام دالة input بدلاً من raw_input، لأن raw_input ليس متاحًا في Python 3. سيكون الشكل الصحيح كالتالي:

python
choice = input("Which food?")

ثم، في جزء الشفرة حيث تتحقق من الاختيار، يجب عليك تعديل الشرط ليكون كالتالي:

python
if choice not in [p, r, c]: print("Invalid choice") exit()

وهناك مشكلة أخرى في الشفرة، حيث أن الشرط التالي لن يؤدي إلى النتائج المتوقعة:

python
elif choice == "pizza and" and "readymeal":

يفضل استخدام and بين الشروط. يمكنك تعديلها إلى:

python
elif choice == "pizza" and "readymeal":

وأيضًا يمكنك استخدام or إذا كنت تريد أن يكون الاختيار مطابقًا لأحد الخيارات:

python
elif choice == "pizza" or choice == "readymeal":

أخيرًا، في الجزء الأخير من الشفرة حيث تقوم بالمقارنة مع “exit”، يجب عليك تعديل الشرط إلى:

python
elif choice.lower() == "exit": exit()

وذلك لأن input قد يُدخل نص بحروف كبيرة، لذا يجب تحويلها إلى حروف صغيرة باستخدام lower().

باختصار، يجب عليك إجراء التعديلات المذكورة أعلاه لتحسين الأداء وتصحيح الأخطاء في شيفرتك.

المزيد من المعلومات

بالطبع، سأقدم لك المزيد من المعلومات حول بعض النقاط في الشيفرة التي قمت بمراجعتها:

  1. تعريف المتغيرات:
    في قسم تعريف المتغيرات، قمت بتحديد choice كمتغير عالمي، لكن لم تقوم بتحديده ك global في دالة UserInput، لذا قد لا تحصل على القيمة المدخلة من المستخدم بشكل صحيح. يفضل تحديد choice ك global في دالة UserInput:

    python
    global choice
  2. تحسين الكود:
    يمكنك تحسين هيكل الشيفرة لجعلها أكثر وضوحًا. على سبيل المثال، يمكنك دمج حالات الطعام المتشابهة في حالة واحدة:

    python
    if choice in [p, r, c]: print("Alarm Set") if choice == p: time.sleep(900) # 15 Min elif choice == r: time.sleep(420) # 7 Min elif choice == c: time.sleep(420) elif choice == "pizza and readymeal": print("Alarm Set") time.sleep(1320) # 22 Min elif choice.lower() == "exit": exit() else: print("Invalid choice") exit()

    هذا يجعل الكود أقل تكرارًا وأسهل قراءة.

  3. التعامل مع المدخلات:
    يفضل أن تتحقق من المدخلات بشكل أفضل، على سبيل المثال، يمكنك استخدام حلقة while لتأكيد أن المستخدم يقوم بإدخال قيمة صحيحة.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!