Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جملة If - Else المتداخلة

جزء من قسم Fundamentals في رحلة Python على Coddy — الدرس 23 من 77.

تسمح لك جمل If-Else المتداخلة بالتحقق من شروط متعددة عن طريق وضع جملة if-else واحدة داخل أخرى. يمكنك تداخل كتلة if داخل كتلة else — هذا نمط شائع وصالح في Python.

أنشئ جملة if-else أساسية:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

الآن دعنا نضيف شرطاً متداخلاً داخل كتلة else:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

يمكنك أيضاً تضمين شرط داخل كتلة if:

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

في كلا المثالين، لا يتم تنفيذ عبارة if-else الداخلية إلا عند استيفاء الشرط الخارجي الذي يحتوي عليها. إن وضع عبارة if داخل كتلة else (أو داخل كتلة if) هو أمر صالح تمامًا — وهذا هو بالضبط ما يجعلها "متداخلة".

challenge icon

التحدي

مبتدئ

اكتب برنامجاً يحدد الأهلية لمشاهدة فيلم بناءً على العمر والإرشاد العائلي.

الكود المعطى (لا تقم بتعديله):

  1. تم تعريف متغير age وتعيين قيمة له من المدخلات
  2. تم تعريف متغير with_parent وتعيين قيمة منطقية (boolean) له — تكون True إذا كانت المدخلات "true"، أو False إذا كانت المدخلات "false"
  3. تم تعريف متغير message بالقيمة "None"

مهمتك:
استخدم جمل if-else المتداخلة لتعيين متغير message إلى إحدى السلاسل النصية التالية:

  1. إذا كان العمر 18 عاماً أو أكثر، قم بتعيين message إلى "You can watch any movie".
  2. إذا كان العمر أقل من 18 عاماً:
    1. إذا كانت قيمة with_parent هي True، قم بتعيين message إلى "You can watch PG-13 movies".
    2. إذا كانت قيمة with_parent هي False، قم بتعيين message إلى "You can only watch G-rated movies".

هام: نظرًا لأن with_parent هو بالفعل قيمة منطقية، تحقق منه مباشرة (على سبيل المثال، if with_parent:) — لا تقم بمقارنته بسلسلة نصية مثل "true" أو "True".

هام: يجب أن تتطابق السلاسل النصية تماماً — بما في ذلك حالة الأحرف وعلامات الترقيم. على سبيل المثال، استخدم "PG-13 movies" (حرف 'm' صغير)، وليس "PG-13 Movies".

ورقة مرجعية

تسمح جمل if-elif-else المتداخلة باتخاذ قرارات هرمية:

if condition1:
    if condition2:
        # كود للحالة التي يكون فيها كلا الشرطين صحيحين
    else:
        # كود للحالة التي يكون فيها condition1 صحيحاً ولكن condition2 خاطئاً
else:
    # كود للحالة التي يكون فيها condition1 خاطئاً

مثال على الشروط المتداخلة:

if age > 18:
    if has_license:
        print("You can drive")
    else:
        print("Get a license first")
else:
    print("Too young to drive")

يمكن أن يكون التداخل غير محدود، مما يسمح بإنشاء أشجار قرار معقدة:

if condition1:
    if condition2:
        if condition3:
            # المزيد من الشروط المتداخلة...

جرّب بنفسك

# الحصول على العمر كعدد صحيح
age = int(input())

# الحصول على إرشاد الوالدين كقيمة منطقية (True/False)
with_parent = input() == "true"

# التصريح عن متغير باسم message بقيمة "None"
message = "None"

# اكتب كود if-else المتداخل الخاص بك هنا


# لا تغير ما تحت هذا السطر
print(message)
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals