جملة else (الخيار الافتراضي)
تخيل أنك حارس أمن في مبنى كبير. لديك قائمة بأسماء الموظفين المصرح لهم بالدخول. عندما يأتي شخص، تتحقق: هل هو المدير؟ هل هو من قسم الإدارة؟ هل هو من قسم التقنية؟ ولكن... ماذا لو لم يكن اسمه في أي قائمة؟ هنا تقول ببساطة: "عذراً، غير مصرح لك بالدخول". هذا بالضبط ما تفعله else.
جملة else هي "شبكة الأمان" في برنامجك. هي الخطة البديلة التي تلتقط كل ما لم يتم التعامل معه. عندما لا يتحقق أي شرط من شروط if أو elif، تأتي else لتقول: "حسناً، بما أن لا شيء مما سبق تحقق، سأفعل هذا بدلاً من ذلك".
في هذا الدرس، ستتقن استخدام else لبناء برامج محصنة تتعامل مع كل الاحتمالات الممكنة دون ترك أي "ثغرة" منطقية.
1. لماذا نحتاج else؟
بدون else، قد يصمت برنامجك تماماً عندما لا يتحقق أي شرط. هذا يسبب ارتباكاً للمستخدم ومشاكل في التطبيقات الحقيقية.
❌ بدون else (مشكلة)
إذا أدخل المستخدم قيمة غير متوقعة، لا يحدث شيء!
✅ مع else (حل)
دائماً هناك رد فعل، حتى للحالات غير المتوقعة
- التعامل مع المدخلات الخاطئة: إعلام المستخدم عندما يدخل قيمة غير صالحة
- تحديد قيم افتراضية: عندما لا تنطبق أي حالة خاصة
- ضمان اكتمال المنطق: لا توجد حالة بدون معالجة
- تسهيل التصحيح (Debugging): معرفة أن الكود وصل لحالة غير متوقعة
2. صيغة جملة else الأساسية
تأتي else دائماً في نهاية سلسلة الشروط. لا تأخذ أي شرط لأنها تعني ببساطة "كل ما تبقى".
# الصيغة الأساسية: if مع else
age = 15
if age >= 18:
print("✅ أنت شخص بالغ")
print("يمكنك التصويت والقيادة")
else:
print("👦 أنت قاصر")
print("انتظر حتى تبلغ 18 سنة")
print("\n--- انتهى الفحص ---")
else لا تأخذ شرطاً أبداً! إذا كتبت else age < 18: ستحصل على خطأ.
3. الهيكل الكامل: if - elif - else
عندما نجمع الثلاثة معاً، نحصل على هيكل تحكم قوي ومرن يغطي كل الاحتمالات الممكنة. هذا هو النمط الأكثر استخداماً في البرمجة الحقيقية.
print("🌡️ نظام تحليل الطقس")
print("-" * 30)
temperature = 25
if temperature > 40:
print("🔥 موجة حر شديدة!")
print("⚠️ تحذير: ابق في المنزل")
print("💧 اشرب الكثير من الماء")
elif temperature > 30:
print("☀️ الجو حار")
print("👕 ارتد ملابس خفيفة")
elif temperature > 20:
print("🌤️ الجو معتدل وجميل")
print("🚶 مناسب للتنزه")
elif temperature > 10:
print("☁️ الجو بارد قليلاً")
print("🧥 ارتد جاكيت خفيف")
elif temperature > 0:
print("🥶 الجو بارد جداً")
print("🧣 ارتد ملابس ثقيلة")
else:
# هذا يغطي كل درجات الحرارة 0 أو أقل
print("❄️ الجو متجمد!")
print("⛔ تحذير: خطر التجمد")
print("🏠 ابق في الداخل إن أمكن")
4. التعامل مع المدخلات غير المتوقعة
من أهم استخدامات else هو التعامل مع الحالات التي لم تتوقعها. هذا يجعل برنامجك أكثر متانة (Robust).
print("🌍 نظام اختيار اللغة")
print("=" * 30)
language = input("اختر لغة (ar/en/fr/es): ").lower().strip()
if language == "ar":
print("\n🇸🇦 مرحباً بك!")
print("تم تعيين اللغة: العربية")
elif language == "en":
print("\n🇬🇧 Welcome!")
print("Language set to: English")
elif language == "fr":
print("\n🇫🇷 Bienvenue!")
print("Langue définie: Français")
elif language == "es":
print("\n🇪🇸 ¡Bienvenido!")
print("Idioma configurado: Español")
else:
# التعامل مع أي إدخال غير متوقع
print("\n❌ عذراً!")
print(f"اللغة '{language}' غير مدعومة حالياً")
print("اللغات المتاحة: ar, en, fr, es")
print("سيتم استخدام الإنجليزية كلغة افتراضية")
5. نظام تقييم الدرجات الكامل
لنبني نظاماً احترافياً لتقييم درجات الطلاب مع تغطية كاملة لكل الحالات.
print("📊 نظام تقييم الطلاب")
print("=" * 40)
score = int(input("أدخل درجة الطالب (0-100): "))
# التحقق من صحة الإدخال أولاً
if score < 0 or score > 100:
print("\n❌ خطأ: الدرجة يجب أن تكون بين 0 و 100")
elif score >= 90:
print(f"\n🌟 الدرجة: {score}/100")
print("التقدير: ممتاز (A)")
print("ملاحظة: أداء استثنائي! مرشح للتكريم")
elif score >= 80:
print(f"\n👏 الدرجة: {score}/100")
print("التقدير: جيد جداً (B)")
print("ملاحظة: أداء رائع، استمر!")
elif score >= 70:
print(f"\n👍 الدرجة: {score}/100")
print("التقدير: جيد (C)")
print("ملاحظة: أداء جيد مع مجال للتحسين")
elif score >= 60:
print(f"\n✓ الدرجة: {score}/100")
print("التقدير: مقبول (D)")
print("ملاحظة: نجحت، لكن تحتاج مزيداً من الجهد")
else:
# score >= 0 and score < 60
print(f"\n❌ الدرجة: {score}/100")
print("التقدير: راسب (F)")
print("ملاحظة: يجب إعادة المادة")
print("💡 نصيحة: راجع المنهج واطلب مساعدة")
6. تطبيق عملي: لعبة تخمين الرقم
لنجمع كل ما تعلمناه في لعبة ممتعة وتفاعلية!
import random
print("🎮 لعبة تخمين الرقم")
print("=" * 30)
# الكمبيوتر يختار رقماً عشوائياً
secret = random.randint(1, 10)
print("📝 اخترت رقماً بين 1 و 10")
guess = int(input("🤔 ما هو تخمينك؟ "))
if guess == secret:
print("\n🎉 مبروك! إجابة صحيحة!")
print("🏆 أنت خبير تخمين!")
elif guess < secret:
print(f"\n📉 تخمينك ({guess}) منخفض جداً!")
print(f"💡 الرقم السري كان: {secret}")
print("حاول مرة أخرى!")
else:
# guess > secret
print(f"\n📈 تخمينك ({guess}) مرتفع جداً!")
print(f"💡 الرقم السري كان: {secret}")
print("حاول مرة أخرى!")
7. قواعد وأفضل الممارسات
elseلا تأخذ شرطاً أبداً- يمكن أن يكون لديك
elseواحدة فقط elseتأتي دائماً في النهايةelseاختيارية وليست إجبارية
- للتعامل مع المدخلات الخاطئة
- لتحديد قيم افتراضية
- لضمان رد فعل في كل الحالات
- لتسهيل اكتشاف الأخطاء
🎯 ملخص الهيكل الكامل
if شرط1:
# ينفذ إذا تحقق الشرط الأول
elif شرط2:
# ينفذ إذا فشل الأول ونجح الثاني
elif شرط3:
# وهكذا...
else:
# ينفذ إذا فشلت كل الشروط السابقة
تذكر: if واحدة (إجبارية) ← عدة elif (اختيارية) ← else واحدة (اختيارية)
🎉 أحسنت! أتقنت اتخاذ القرارات
الآن بعد إتقان الشروط، حان وقت تعلم كيفية تكرار الأوامر بكفاءة!
الدرس التالي: حلقة for (التكرار)