🚀 إتقان جملة elif: مفتاح القرارات المتعددة في بايثون

🎯 بعد أن تعلمت أساسيات الجمل الشرطية (if و else)، حان الوقت لرفع مستوى مهاراتك. تخيل أنك تقف عند إشارة مرور: 🚦 الضوء الأحمر يعني "قف"، والأصفر يعني "استعد"، والأخضر يعني "انطلق". كيف يمكن لبرنامجك التعامل مع مثل هذه الخيارات المتعددة؟ هذا بالضبط ما ستحله جملة elif!


📚 ما هي جملة elif؟

elif هي اختصار لـ "else if"، وهي أداة قوية في بايثون تسمح لك بفحص عدة شروط بشكل متسلسل. فكر فيها كسلم من الخيارات: يبدأ البرنامج من الأعلى وينزل درجة درجة حتى يجد الشرط الأول الذي يتحقق، ثم يتجاهل الباقي.

البناء الأساسي:

if condition1:
    # الكود الذي ينفذ إذا كان condition1 صحيحاً
elif condition2:
    # الكود الذي ينفذ إذا كان condition1 خطأ و condition2 صحيحاً
elif condition3:
    # الكود الذي ينفذ إذا كان condition1 و condition2 خطأ و condition3 صحيحاً
else:
    # الكود الذي ينفذ إذا كانت جميع الشروط السابقة خاطئة

🔍 كيف يعمل تدفق التحكم مع elif؟

لفهم كيفية عمل elif، من المهم تتبع الخطوات التي يتبعها المفسر:

  1. يتم تقييم شرط if أولاً. إذا كان True، ينفذ الكود الموجود تحته مباشرة ويتخطى جميع جمل elif و else اللاحقة.
  2. إذا كان شرط if False، ينتقل المفسر إلى أول جملة elif ويقيم شرطها.
  3. يستمر هذا النمط من أعلى إلى أسفل. بمجرد أن يجد شرط elif يكون True، ينفذ الكود الخاص به ويتوقف عن فحص الشروط الباقية.
  4. إذا لم تتحقق أي من شروط if أو elif، يتم تنفيذ الكود الموجود داخل كتلة else (إذا كانت موجودة).
# مثال بسيط لتوضيح التدفق
grade = 85

if grade >= 90:
    print("ممتاز! 👏") # هذه لن تنفذ لأن الشرط خطأ
elif grade >= 80:
    print("جيد جداً! 👍") # هذا الشرط صحيح، وسيتم طباعته
elif grade >= 70:
    print("جيد! ✅") # هذا لن ينفذ لأن شرطاً قبله تحقق
else:
    print("يحتاج تحسين. 📚") # هذا لن ينفذ

# الناتج: جيد جداً! 👍

🛠️ أمثلة عملية على استخدام elif

لنجعل فهمك أكثر متانة من خلال أمثلة حياتية بسيطة.

المثال ١: آلة حاسبة بسيطة

لنصنع آلة حاسبة تختار العملية بناءً على رمز mathematical operator المدخل.

# تعريف الأرقام والعملية
num1 = 10
num2 = 5
operation = "+"  # جرب تغيير هذه القيمة إلى: - أو * أو /

if operation == "+":
    result = num1 + num2
    print(f"نتيجة الجمع: {result}")
elif operation == "-":
    result = num1 - num2
    print(f"نتيجة الطرح: {result}")
elif operation == "*":
    result = num1 * num2
    print(f"نتيجة الضرب: {result}")
elif operation == "/":
    result = num1 / num2
    print(f"نتيجة القسمة: {result}")
else:
    print("عملية غير معروفة! الرجاء استخدام +, -, *, أو /")

المثال ٢: تصنيف الطقس

لنصنع برنامجاً يصنف درجة الحرارة بردود فعل مختلفة.

temperature = 28  # جرب تغيير هذه القيمة

if temperature > 35:
    print("الجو حار جداً! 🥵 تجنب الخروج في الظهيرة.")
elif temperature > 25:
    print("الطقس لطيف ومشمس. ☀️ وقت رائع للنزهة!")
elif temperature > 15:
    print("الجو بارد قليلاً. 🍂 قد تحتاج لسويتشر.")
else:
    print("بارد جداً! ❄️ البس معطفك الدافئ.")

💡 نصائح مهمة عند استخدام elif

  1. الترتيب مهم جداً: دائماً رتب شروطك من الأكثر تحديداً إلى الأكثر عمومية. إذا وضعت شرطاً عاماً في البداية، قد يتحقق ويمنع الشروط الأكثر تحديداً التي تليه من التنفيذ.
  2. elif تعتمد على if: لا يمكنك استخدام جملة elif منفردة؛ يجب أن تتبع دائماً جملة if أولاً.
  3. الاستقلالية: بمجرد أن يتحقق أحد الشروط، لا يتم فحص الباقي. هذا يجعل البرنامج أكثر كفاءة.
# ترتيب خاطئ
age = 10

if age < 18:
    print("قاصر")
elif age < 13: # هذا الشرط لن يتحقق أبداً لأن أي عمر أقل من 13 هو أيضاً أقل من 18
    print("طفل")

# ترتيب صحيح
age = 10

if age < 13:
    print("طفل") # سيتم تنفيذ هذا
elif age < 18:
    print("قاصر")

🧪 دعنا نجرب معاً: مهمة صغيرة

المهمة: اكتب برنامجاً يطلب من المستخدم إدخال رقم بين ١ و ٧، ثم يطبع اسم اليوم المقابل (١ للإثنين، ٢ للثلاثاء، ..., ٧ للأحد).

day_number = int(input("أدخل رقم اليوم (1-7): "))

if day_number == 1:
    print("الإثنين")
elif day_number == 2:
    print("الثلاثاء")
elif day_number == 3:
    print("الأربعاء")
elif day_number == 4:
    print("الخميس")
elif day_number == 5:
    print("الجمعة")
elif day_number == 6:
    print("السبت")
elif day_number == 7:
    print("الأحد")
else:
    print("رقم غير صحيح! الرجاء إدخال رقم بين 1 و 7.")