الدرس 8: بايثون يختار بين الطرق! ↔️ (مع `else` و `elif`)

في هذا الدرس، سنتعلم كيف نعطي بايثون خيارات متعددة! سنكتشف ماذا تفعل `else` (وإلا) و `elif` (وإلا إذا) عندما لا يكون الشرط الأول صحيحًا. وسنصنع لعبة تخمين رقم ممتعة!
رقم الدرس 8
آخر تحديث 2025/05/25
تقدم القراءة

قرارات بايثون المتقدمة: else و elif


أهلاً بكم أيها المستكشفون الصغار! 🗺️✨ في الدرس الماضي، تعلمنا كيف نجعل بايثون يتخذ قرارًا واحدًا باستخدام if. ولكن، ماذا لو أردنا أن يفعل شيئًا آخر إذا لم يكن الشرط صحيحًا؟ أو ماذا لو كان لدينا أكثر من خيارين؟ اليوم، سنتعرف على صديقتي if المخلصتين: else و elif! هيا بنا نجعل برامجنا أكثر ذكاءً! 🚀

أهداف استكشافنا اليوم


فهم وظيفة else لتوفير خيار بديل.
تعلم كيفية استخدام elif للتحقق من شروط متعددة.
إتقان بنية if/elif/else المتكاملة.
بناء برنامج يتخذ قرارات معقدة بناءً على قيم المتغيرات.

1

الخيار البديل: نقدم لكم else!

تذكرون عندما قلنا: “إذا كانت السماء تمطر ☔، سآخذ مظلتي”؟ ماذا لو لم تكن تمطر؟ يمكننا أن نقول: “وإلا، سأرتدي نظارتي الشمسية 😎!”. هذه كلمة “وإلا” هي بالضبط ما تفعله else في بايثون.

الكلمة else


تأتي بعد `if` وتنفذ الأوامر التي تتبعها فقط إذا كان شرط `if` خاطئًا (False). `else` لا تحتاج إلى شرط خاص بها، فهي الغطاء لكل الحالات الأخرى.

تمرين: مشمس أم لا؟

سهل5 دقائق

المهمة: سنقوم بتعديل برنامج الطقس ليقدم خيارين واضحين.

الكود الذي سنكتبه:

weather_choice.py
# جرب تغيير القيمة هنا بين "مشمس" و "غائم"

weather = "مشمس"

print(f"الطقس اليوم: {weather}")

if weather == "مشمس":

    # هذا السطر مزاح لأنه تابع لـ if

    print("رائع! هيا بنا نذهب في نزهة ممتعة في الحديقة!")

else:

    # وهذا السطر مزاح لأنه تابع لـ else

    print("لا بأس، يمكننا اللعب في الداخل اليوم!")

print("أتمنى لك يومًا سعيدًا!") # هذا السطر سينفذ دائمًا

حان دورك للتجربة!

اكتب الكود في المحرر. شغل البرنامج وقيمة `weather` هي “مشمس”. ثم، غير القيمة إلى “غائم” وشغل البرنامج مرة أخرى. ماذا تلاحظ؟


🐍 محرر Python تفاعلي - جرب تغيير حالة الطقس هنا!
اضغط Ctrl+Enter للتشغيل
💡 اضغط "تشغيل الكود" لرؤية النتائج هنا

اكتشاف مهم!


الآن برنامجك لديه مساران: مسار ليوم مشمس، ومسار لكل شيء آخر. إنه يتخذ دائمًا قرارًا واضحًا!

ماذا لو كان لدينا أكثر من احتمالين؟ مثل إشارة المرور (أحمر، أصفر، أخضر). هنا تأتي الكلمة السحرية elif، وهي اختصار لـ “else if” (وإلا إذا).

الكلمة elif


تُستخدم لاختبار شرط جديد فقط إذا كانت كل الشروط التي قبلها (if و elif الأخرى) خاطئة. يمكننا استخدام العديد من جمل `elif` كما نريد.

تمرين: تقييم الدرجات 🥇🥈🥉

متوسط7 دقائق

المهمة: سنكتب برنامجًا يقيم درجة طالب ويعطي تقديرًا مختلفًا لكل فئة.

الكود الذي سنكتبه:

grade_evaluator.py
# جرب تغيير قيمة الدرجة هنا (مثلاً: 95, 85, 70, 50)

score = 95

print(f"درجة الطالب هي: {score}")

if score >= 90:

    print("التقدير: ممتاز! عمل رائع!")

elif score >= 80:

    print("التقدير: جيد جدًا! أداء رائع!")

elif score >= 60:

    print("التقدير: جيد. استمر في المحاولة!")

else:

    print("التقدير: يحتاج إلى تحسين. لا تستسلم!")

جرب بنفسك!

اكتب الكود في المحرر. غير قيمة المتغير `score` إلى 95, ثم 85, ثم 70, ثم 50. شغل البرنامج بعد كل تغيير ولاحظ كيف يختار بايثون التقدير الصحيح في كل مرة.


🐍 محرر Python تفاعلي - جرب تغيير قيمة score هنا!
اضغط Ctrl+Enter للتشغيل
💡 اضغط "تشغيل الكود" لرؤية النتائج هنا

كيف يفكر بايثون؟


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

هيا نصنع لعبة بسيطة! سنخفي رقمًا سحريًا في متغير، وسنضع تخمينًا في متغير آخر، ثم نجعل بايثون يخبرنا إذا كان التخمين صحيحًا، أو أكبر، أو أصغر.

بناء لعبة التخمين

متوسط10 دقائق

المهمة: اكتب كود اللعبة بالكامل، ثم جرب تغيير قيمة `guess` لترى كل الرسائل الممكنة.

الكود الكامل للعبتنا:

magic_number_game.py
# الرقم الذي اختاره الكمبيوتر سرًا

secret_number = 7

# تخمين اللاعب (جرب تغييره إلى 5, ثم 10, ثم 7)

guess = 5

print("أهلاً بك في لعبة تخمين الرقم السحري!")

print(f"تخمينك هو: {guess}")

print("---")

# بايثون يقارن ويعطي التلميحات

if guess == secret_number:

    print("يا للروعة! لقد خمنت الرقم الصحيح! أنت فائز! 🎉")

elif guess < secret_number:

    print("تخمينك أصغر من الرقم السحري. حاول برقم أكبر!")

else: # هذا الشرط يعني أن التخمين أكبر من الرقم السحري

    print("تخمينك أكبر من الرقم السحري. حاول برقم أصغر!")

حان دورك يا صانع الألعاب!

اكتب الكود في المحرر أدناه. غير قيمة المتغير `guess` لتختبر كل الحالات الممكنة.


🐍 محرر Python تفاعلي - ابنِ لعبة التخمين هنا!
اضغط Ctrl+Enter للتشغيل
💡 اضغط "تشغيل الكود" لرؤية النتائج هنا

في لعبة التخمين، إذا كان secret_number = 15 و guess = 15، أي رسالة سيتم طباعتها؟





لقد أضفتم اليوم أدوات قوية جدًا إلى صندوق مهاراتكم!

  • else (وإلا): تنفذ أوامرها فقط إذا كان شرط `if` (أو `elif`) الذي يسبقها خاطئًا.
  • elif (وإلا إذا): تُستخدم لاختبار شروط متعددة بالترتيب.
  • الترتيب مهم: بايثون يتبع تسلسل `if -> elif -> else` ويتوقف عند أول شرط صحيح يجده.

بهذه الأدوات، يمكننا بناء برامج تتخذ قرارات معقدة، مما يجعلها أكثر ذكاءً وفائدة.

[/lesson_summary]

المغامرة القادمة!


أبدعتم أيها المبرمجون الحكماء! 🌟 الآن بعد أن أصبح بايثون قادرًا على اتخاذ قرارات معقدة، حان الوقت لتعليمه كيف يكرر المهام! في الدرس القادم، سنتعلم عن الحلقات التكرارية (Loops) التي تجعل بايثون يعمل بلا كلل أو ملل. إلى اللقاء أيها الأبطال! 👋

🔐 سجل دخولك لحفظ التقدم

سجل دخولك لحفظ تقدمك والحصول على شهادة إتمام

تسجيل الدخول