جملة 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) هو أمر صالح تمامًا — وهذا هو بالضبط ما يجعلها "متداخلة".
التحدي
مبتدئاكتب برنامجاً يحدد الأهلية لمشاهدة فيلم بناءً على العمر والإرشاد العائلي.
الكود المعطى (لا تقم بتعديله):
- تم تعريف متغير
ageوتعيين قيمة له من المدخلات - تم تعريف متغير
with_parentوتعيين قيمة منطقية (boolean) له — تكونTrueإذا كانت المدخلات"true"، أوFalseإذا كانت المدخلات"false" - تم تعريف متغير
messageبالقيمة"None"
مهمتك:
استخدم جمل if-else المتداخلة لتعيين متغير message إلى إحدى السلاسل النصية التالية:
- إذا كان العمر 18 عاماً أو أكثر، قم بتعيين
messageإلى"You can watch any movie". - إذا كان العمر أقل من 18 عاماً:
- إذا كانت قيمة
with_parentهيTrue، قم بتعيينmessageإلى"You can watch PG-13 movies". - إذا كانت قيمة
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)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات2المتغيرات
الأرقامالنصوص (String)القيم المنطقية (Boolean)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - المضروب (Factorial)دالة Rangeالحلقات المتداخلةمراجعة - Dynamic Input3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراجالإخراج مع المتغيراتالإدخالتحويل الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ