في البداية، يظهر أن لديك بعض الأخطاء في النص البرمجي الخاص بك التي تحتاج إلى تصحيح. سأساعدك في فحص الشيفرة وتصحيح الأخطاء لتحسين أداء برنامجك.
أولًا، يجب عليك استخدام دالة input
بدلاً من raw_input
، لأن raw_input
ليس متاحًا في Python 3. سيكون الشكل الصحيح كالتالي:
-
تحويل سلسلة أرقام إلى مصفوفة في جافا20/03/2024
-
حلول لمشكلة البناء في Xamarin18/02/2024
-
تعديل قيم السجلات في GNU/Linux باستخدام C15/02/2024
pythonchoice = input("Which food?")
ثم، في جزء الشفرة حيث تتحقق من الاختيار، يجب عليك تعديل الشرط ليكون كالتالي:
pythonif choice not in [p, r, c]:
print("Invalid choice")
exit()
وهناك مشكلة أخرى في الشفرة، حيث أن الشرط التالي لن يؤدي إلى النتائج المتوقعة:
pythonelif choice == "pizza and" and "readymeal":
يفضل استخدام and
بين الشروط. يمكنك تعديلها إلى:
pythonelif choice == "pizza" and "readymeal":
وأيضًا يمكنك استخدام or
إذا كنت تريد أن يكون الاختيار مطابقًا لأحد الخيارات:
pythonelif choice == "pizza" or choice == "readymeal":
أخيرًا، في الجزء الأخير من الشفرة حيث تقوم بالمقارنة مع “exit”، يجب عليك تعديل الشرط إلى:
pythonelif choice.lower() == "exit":
exit()
وذلك لأن input
قد يُدخل نص بحروف كبيرة، لذا يجب تحويلها إلى حروف صغيرة باستخدام lower()
.
باختصار، يجب عليك إجراء التعديلات المذكورة أعلاه لتحسين الأداء وتصحيح الأخطاء في شيفرتك.
المزيد من المعلومات
بالطبع، سأقدم لك المزيد من المعلومات حول بعض النقاط في الشيفرة التي قمت بمراجعتها:
-
تعريف المتغيرات:
في قسم تعريف المتغيرات، قمت بتحديدchoice
كمتغير عالمي، لكن لم تقوم بتحديده ك global في دالةUserInput
، لذا قد لا تحصل على القيمة المدخلة من المستخدم بشكل صحيح. يفضل تحديدchoice
ك global في دالةUserInput
:pythonglobal choice
-
تحسين الكود:
يمكنك تحسين هيكل الشيفرة لجعلها أكثر وضوحًا. على سبيل المثال، يمكنك دمج حالات الطعام المتشابهة في حالة واحدة:pythonif 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()
هذا يجعل الكود أقل تكرارًا وأسهل قراءة.
-
التعامل مع المدخلات:
يفضل أن تتحقق من المدخلات بشكل أفضل، على سبيل المثال، يمكنك استخدام حلقة while لتأكيد أن المستخدم يقوم بإدخال قيمة صحيحة.