نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
PY

منهج Python

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Python/الجمل الشرطية المتداخلة (Nested If Statements)

الجمل الشرطية المتداخلة (Nested If Statements)

nested if pythonشرط متداخل pythonif داخل if pythonpython nested conditions

جدول مرجعي سريع

1

الجمل الشرطية المتداخلة (Nested If Statements)

المفهوم أو الأداة البرمجيةآلية التنفيذ والتحكم في الذاكرةالتأثير البرمجي ونصيحة الهيكلة
الشرط المتداخل Nested Ifكتابة بنية شرطية كاملة داخل كتلة شرطية أخرى تعلوها في المسافة البادئةتُنفذ الشروط الداخلية فقط في حال نجاح الشرط الخارجي
التحقق التسلسليآلية برمجية تفحص الشروط الفرعية تدريجياً بناءً على نتائج الشروط الأساسية المعتمدة عليهاتستخدم لتنظيم العمليات اللوجستية المترابطة
المسافة البادئة المتراكمةزيادة إزاحة الأكواد الداخلية بأربع مسافات إضافية عن كل مستوى تداخل جديدإجبارية في بايثون لتحديد تبعية الكتل البرمجية الفرعية
مشكلة التداخل الزائدتعقيد الكود وتشتيت المقروئية نتيجة كثرة مستويات الإزاحة نحو اليمينيُنصح بتجنبها إذا تجاوزت ثلاثة مستويات لتفادي تشوه الشيفرة
الدمج بالعوامل المنطقيةاستبدال التداخل الشرطي برابط منطقي مثل and لجمع الشروط في سطر واحدالبديل الاحترافي لتبسيط الأكواد وجعلها أكثر نظافة ومقروئية

الشرح

الجمل الشرطية المتداخلة (Nested If Statements) 1. مفهوم الجمل الشرطية المتداخلة وآلية عملها تُعرف الجمل الشرطية المتداخلة (Nested If Statements) بأنها عملية وضع بنية شرطية (if, elif, else) كاملة داخل كتلة شرطية أخرى. في هذه المعمارية، يُطلق على الشرط الأول اسم "الشرط الخارجي" (Outer Condition)، بينما تُسمى الشروط القابعة بداخله "الشروط الداخلية" (Inner Conditions).

لا يقوم محرك بايثون بالالتفات إلى الشروط الداخلية أو فحص قيمها في الذاكرة إلا في حالة واحدة فقط: وهي أن يعود الشرط الخارجي بالقيمة True. إذا سقط الشرط الخارجي وتحول إلى False، يتخطى المعالج الكتلة المتداخلة بالكامل قفزاً إلى السطور التالية.

مفهوم الجمل الشرطية المتداخلة وآلية عملها

مفهوم الجمل الشرطية المتداخلة وآلية عملها
1is_member = True
2purchase_amount = 150
3
4if is_member: # الشرط الخارجي
5 print("مرحباً بك في نظام الولاء.")
6
7 if purchase_amount > 100: # شرط داخلي متداخل
8 print("لقد حصلت على خصم بقيمة 20%")
9 else:
10 print("احصل على خصم عند الشراء بأكثر من 100")
11else:
12 print("تطبق الأسعار القياسية لغير الأعضاء.")

2. ضوابط المسافة البادئة (Indentation) في التداخل

بما أن بايثون تعتمد كلياً على الإزاحة الفراغية لتحديد نطاق الأكواد، فإن التداخل يتطلب دقة صارمة في توزيع المسافات:

  • المستوى الأول (الشرط الخارجي): يبدأ من بداية السطر (بدون مسافات).
  • المستوى الثاني (الكود التابع للشرط الخارجي + الشرط الداخلي): يزاح بمقدار 4 مسافات.
  • المستوى الثالث (الكود التابع للشرط الداخلي): يزاح بمقدار 8 مسافات (4 مسافات للمستوى الثاني + 4 مسافات للمستوى الثالث).

تراكم هذه المسافات هو ما يعلِم المفسر بالتبعية اللوجستية والهيكلية لكل سطر كود.

3. متى يتم الاعتماد على الشروط المتداخلة؟

تُعد الشروط المتداخلة خياراً هندسياً ممتازاً في الحالات التالية:

  1. الاعتمادية الشرطية التامة: عندما لا يكون هناك أي معنى لفحص الشرط الثاني إلا إذا كان الشرط الأول صحيحاً محققاً (مثل: التحقق من وجود حساب مستخدم أولاً، ثم التحقق من صلاحيات المشرف داخل الحساب).
  2. الفرز اللوجستي المتدرج: تقسيم العمليات المعقدة إلى مراحل تصفية تدريجية متتالية لتقليل استهلاك موارد السيرفر.

4. ظاهرة التداخل الزائد والبديل الاحترافي لها

على الرغم من فاعلية هذا الأسلوب، إلا أن الإفراط في تداخل الجمل الشرطية (أكثر من 3 مستويات) يؤدي إلى مشكلة برمجية تُعرف باسم "كود السباغيتي" أو "هرم العذاب" (Pyramid of Doom)؛ حيث يزحف الكود نحو اليمين بشكل مفرط، مما يجعله غاية في التعقيد وصعب الصيانة والمقروئية.

الأسلوب السيئ (تداخل معقد):

الأسلوب السيئ (تداخل معقد):
1if user_exists:
2 if is_verified:
3 if has_balance:
4 # تنفيذ العملية - كود عميق وصعب القراءة
5 pass

الأسلوب الاحترافي (التبسيط والدمج):

إذا كانت الشروط متتالية ومستقلة ويجب تحققها معاً في نفس اللحظة دون الحاجة لتقارير منفصلة لكل مرحلة، فإن المعيار القياسي لتطهير الكود (Refactoring) هو استخدام العوامل المنطقية (and) لدمج الشروط في مسار أفقي واحد ومسطح (Flat Code)، وهو ما يتماشى تماماً مع الفلسفة الرسمية للغة بايثون "المسطح أفضل من المتداخل" (Flat is better than nested).

الأسلوب الاحترافي (التبسيط والدمج):

الأسلوب الاحترافي (التبسيط والدمج):
1# كود نظيف، مسطح، وسهل التتبع والصيانة
2if user_exists and is_verified and has_balance:
3 # تنفيذ العملية مباشرة
4 pass

الصياغة (Syntax)

syntax
1# if متداخل
2age = 22
3has_license = True
4has_car = True
5
6if age >= 18:
7 print("سن قانوني")
8 if has_license:
9 print("لديه رخصة")
10 if has_car:
11 print("يمكنه القيادة!")
12 else:
13 print("لا يمتلك سيارة")
14 else:
15 print("لا يمتلك رخصة")
16else:
17 print("صغير السن")

أمثلة عملية

مثال 1: نظام تسجيل الدخول

نظام تسجيل الدخول
1username = "admin"
2password = "1234"
3
4entered_user = input("اسم المستخدم: ")
5if entered_user == username:
6 entered_pass = input("كلمة المرور: ")
7 if entered_pass == password:
8 print("تم تسجيل الدخول بنجاح!")
9 else:
10 print("كلمة المرور خاطئة")
11else:
12 print("اسم المستخدم غير موجود")

نصائح احترافية

  • —**نصائح تجنب التداخل الزائد:**
  • —دمج الشروط بـ `and` بدلاً من التداخل عندما يكون ذلك ممكناً
  • —استخدم "Early Return" - أرجع مبكراً عند الفشل بدلاً من التداخل
  • —أقصى تداخل مقبول: 2-3 مستويات فقط
  • —التداخل الزائد مؤشر على ضرورة تقسيم الكود إلى دوال

الدرس السابق

اتخاذ القرارات (If, Elif, Else Statements)

الدرس التالي

الحلقات التكرارية المشروطة (While Loops)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر