ممكن مساعدتي في معرفة syntactic error

يبدو أن هناك خطأ في بناء الجملة (SyntaxError) في الكود الخاص بك. دعني أوضح لك ما الذي قد يكون سبب الخطأ.

من خلال النظر إلى الصورة، أرى أن الخطأ يظهر في السطر 11 عند استخدام العبارة elif. الخطأ ينبع من الأمور التالية:

  1. تسمية المتغيرات:

    • في السطر 6، المتغير اسمه Door_colour بينما في السطر 11، المتغير اسمه Door. إذا كنت تريد مقارنة نفس المتغير، يجب أن يكون الاسم متسقًا.
  2. الأخطاء اللغوية:

    • في السطر 14، يوجد else: بدون شرط if الصحيح قبله. تأكد من أن هناك شرط if أو elif قبله بشكل صحيح.
    • كلمة “founded” في السطر 12 يجب أن تكون “found”.
  3. تراكيب الكود:

    • الـ input في السطر 13 لا يجب أن يكون مع الـ elif مباشرة. حاول وضعه خارج هذا الشرط.

إليك نسخة محسنة من الكود:

print("""
Welcome to my island!
There are two doors in front of you, a red door and a blue door.
""")

door = input("Which door do you want to open?").lower()

if door == 'blue':
    print("""
    Oops! You chose the crocodile door.
    Game over 🐊🐊🐊
    """)
elif door == 'red':
    print('You found three boxes: 🎁 (white), 🎁 (black), 🎁 (green)')
    box_choice = input("Which box do you open?").lower()
    if box_choice == 'white':
        print("You found treasure! 🏆")
    elif box_choice == 'black':
        print("You found a trap! 😱")
    elif box_choice == 'green':
        print("You found nothing... 😶")
    else:
        print('Invalid choice')
else:
    print('Invalid choice')

جرب استخدام هذا الكود وتحقق مما إذا كانت المشكلة قد حُلَّت.

إعجاب واحد (1)

مشكل ف اسم المتغير:

السطر 5 اسم المتغير Door,
السطر 6 و11 اسم المتغير Door-coulor
هنا المفروض تظهر لك رسالة خطأ لأنك أدخلت اسم غير معروف!!!

مشكل في المحاذاة :

الأسطر 11-16 ليست في نفس المحاذاة مع السطر 6 حيث بدأت أول if.
هذا يعني أن الأسطر المذكورة جميعها تحت نفس الشرط الأول الذي حددته (باب أزرق)!!
عليك بتصحيح المحاذاة!
بعد التصحيح لا تنسى أن الأسطر 12-13 يجب أن يكون قبلها مسافة لأنها ضمن elif.

3 إعجابات

جميل جدا تصحيحك للخطأ :wave:

إعجاب واحد (1)