الدرس 8: بايثون يختار بين الطرق! ↔️ (مع `else` و `elif`)
قرارات بايثون المتقدمة: else و elif
أهلاً بكم أيها المستكشفون الصغار! 🗺️✨ في الدرس الماضي، تعلمنا كيف نجعل بايثون يتخذ قرارًا واحدًا باستخدام if. ولكن، ماذا لو أردنا أن يفعل شيئًا آخر إذا لم يكن الشرط صحيحًا؟ أو ماذا لو كان لدينا أكثر من خيارين؟ اليوم، سنتعرف على صديقتي if المخلصتين: else و elif! هيا بنا نجعل برامجنا أكثر ذكاءً! 🚀
أهداف استكشافنا اليوم
فهم وظيفة else لتوفير خيار بديل.
تعلم كيفية استخدام elif للتحقق من شروط متعددة.
إتقان بنية if/elif/else المتكاملة.
بناء برنامج يتخذ قرارات معقدة بناءً على قيم المتغيرات.
الخيار البديل: نقدم لكم else!
تذكرون عندما قلنا: “إذا كانت السماء تمطر ☔، سآخذ مظلتي”؟ ماذا لو لم تكن تمطر؟ يمكننا أن نقول: “وإلا، سأرتدي نظارتي الشمسية 😎!”. هذه كلمة “وإلا” هي بالضبط ما تفعله else
في بايثون.
الكلمة else
تأتي بعد `if` وتنفذ الأوامر التي تتبعها فقط إذا كان شرط `if` خاطئًا (False). `else` لا تحتاج إلى شرط خاص بها، فهي الغطاء لكل الحالات الأخرى.
تمرين: مشمس أم لا؟
المهمة: سنقوم بتعديل برنامج الطقس ليقدم خيارين واضحين.
الكود الذي سنكتبه:
# جرب تغيير القيمة هنا بين "مشمس" و "غائم"
weather = "مشمس"
print(f"الطقس اليوم: {weather}")
if weather == "مشمس":
# هذا السطر مزاح لأنه تابع لـ if
print("رائع! هيا بنا نذهب في نزهة ممتعة في الحديقة!")
else:
# وهذا السطر مزاح لأنه تابع لـ else
print("لا بأس، يمكننا اللعب في الداخل اليوم!")
print("أتمنى لك يومًا سعيدًا!") # هذا السطر سينفذ دائمًا
حان دورك للتجربة!
اكتب الكود في المحرر. شغل البرنامج وقيمة `weather` هي “مشمس”. ثم، غير القيمة إلى “غائم” وشغل البرنامج مرة أخرى. ماذا تلاحظ؟
اكتشاف مهم!
الآن برنامجك لديه مساران: مسار ليوم مشمس، ومسار لكل شيء آخر. إنه يتخذ دائمًا قرارًا واضحًا!
ماذا لو كان لدينا أكثر من احتمالين؟ مثل إشارة المرور (أحمر، أصفر، أخضر). هنا تأتي الكلمة السحرية
elif
، وهي اختصار لـ “else if” (وإلا إذا).
الكلمة elif
تُستخدم لاختبار شرط جديد فقط إذا كانت كل الشروط التي قبلها (if و elif الأخرى) خاطئة. يمكننا استخدام العديد من جمل `elif` كما نريد.
تمرين: تقييم الدرجات 🥇🥈🥉
المهمة: سنكتب برنامجًا يقيم درجة طالب ويعطي تقديرًا مختلفًا لكل فئة.
الكود الذي سنكتبه:
# جرب تغيير قيمة الدرجة هنا (مثلاً: 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. شغل البرنامج بعد كل تغيير ولاحظ كيف يختار بايثون التقدير الصحيح في كل مرة.
كيف يفكر بايثون؟
بايثون يتحقق من الشروط بالترتيب: if أولاً، ثم elif الأولى، وهكذا. بمجرد أن يجد شرطًا صحيحًا، ينفذ أوامره ويتجاهل كل ما تبقى من جمل elif و else في تلك السلسلة.
هيا نصنع لعبة بسيطة! سنخفي رقمًا سحريًا في متغير، وسنضع تخمينًا في متغير آخر، ثم نجعل بايثون يخبرنا إذا كان التخمين صحيحًا، أو أكبر، أو أصغر.
بناء لعبة التخمين
المهمة: اكتب كود اللعبة بالكامل، ثم جرب تغيير قيمة `guess` لترى كل الرسائل الممكنة.
الكود الكامل للعبتنا:
# الرقم الذي اختاره الكمبيوتر سرًا
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` لتختبر كل الحالات الممكنة.
في لعبة التخمين، إذا كان secret_number = 15 و guess = 15، أي رسالة سيتم طباعتها؟
لقد أضفتم اليوم أدوات قوية جدًا إلى صندوق مهاراتكم!
else
(وإلا): تنفذ أوامرها فقط إذا كان شرط `if` (أو `elif`) الذي يسبقها خاطئًا.elif
(وإلا إذا): تُستخدم لاختبار شروط متعددة بالترتيب.- الترتيب مهم: بايثون يتبع تسلسل `if -> elif -> else` ويتوقف عند أول شرط صحيح يجده.
بهذه الأدوات، يمكننا بناء برامج تتخذ قرارات معقدة، مما يجعلها أكثر ذكاءً وفائدة.
[/lesson_summary]