الدرس 15 من دورة Python للمبتدئين

استخدام elif في Python: أكثر من احتمال داخل البرنامج

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

المستوى: مبتدئ جدًا النتيجة: شروط متعددة مدة التطبيق: 25 - 30 دقيقة
طريقة CIT للتعلم الهادئ: لا تحفظ elif ككلمة جديدة فقط. افهمها بهذا المعنى: إذا لم يتحقق الشرط السابق، جرّب هذا الشرط الجديد.
مهم قبل البداية: elif لا تأتي وحدها في البداية. تبدأ السلسلة بـ if، ثم يمكن إضافة elif، وفي النهاية يمكن وضع else للحالة المتبقية.

ما النتيجة التي يجب أن تخرج بها؟

في نهاية الدرس ستفهم وتكتب برنامجًا يقيم الدرجة:

score = int(input("اكتب درجتك: "))

if score >= 90:
    print("ممتاز")
elif score >= 80:
    print("جيد جدًا")
elif score >= 70:
    print("جيد")
else:
    print("تحتاج تحسين")

هذا البرنامج لا يختار بين احتمالين فقط، بل بين عدة احتمالات.

if أول شرط في السلسلة.
elif شرط إضافي إذا لم يتحقق السابق.
else الحالة المتبقية إذا لم يتحقق أي شرط.
خريطة درس elif في Python
تدفق if elif else في Python
1

لماذا نحتاج elif؟

أحيانًا لا يكون القرار احتمالين فقط. مثلًا في تقييم الدرجات قد نحتاج أكثر من نتيجة:

90 فأكثر: ممتاز
80 فأكثر: جيد جدًا
70 فأكثر: جيد
أقل من ذلك: تحتاج تحسين

هنا لا يكفي if و else فقط؛ لأن عندنا أكثر من احتمال.

الفكرة ببساطة: elif تعطي البرنامج فرصة لفحص شرط آخر إذا لم يتحقق الشرط السابق.
تحقق قبل الانتقال ✅ هل فهمت أن elif نستخدمها عندما يكون عندنا أكثر من احتمال؟
2

أنشئ ملف الدرس الخامس عشر

افتح مجلد الدورة داخل VS Code:

python_course

ثم أنشئ ملفًا جديدًا باسم:

lesson_15.py

افتح الملف داخل Editor.

توقف لحظة ✅ هل ظهر ملف lesson_15.py داخل Explorer؟ إذا نعم، انتقل للخطوة التالية.
3

استقبل الدرجة من المستخدم

نبدأ بسطر يستقبل الدرجة ويحولها إلى رقم صحيح:

score = int(input("اكتب درجتك: "))

لماذا استخدمنا int؟ لأن الدرجة غالبًا رقم كامل مثل 90 أو 85 أو 70.

سؤال سريع 🧠 هل نحتاج تحويل input إلى رقم قبل المقارنة؟ نعم، لأننا سنقارن الدرجة بالأرقام 90 و80 و70.
4

ابدأ بأعلى شرط

نبدأ بأعلى تقييم:

if score >= 90:
    print("ممتاز")

معنى ذلك: إذا كانت الدرجة 90 أو أكثر، اطبع ممتاز.

لماذا بدأنا بـ 90؟ لأننا نريد فحص أعلى تقييم أولًا. إذا كانت الدرجة 95 مثلًا، فهي ممتازة، ولا نريد أن نضعها في تقييم أقل.
تحقق قبل الانتقال ✅ هل فهمت لماذا بدأنا من أعلى درجة؟
5

أضف elif للشرط الثاني

إذا لم تكن الدرجة 90 أو أكثر، نجرب شرطًا آخر:

elif score >= 80:
    print("جيد جدًا")

معنى elif هنا:

إذا لم يتحقق شرط ممتاز
جرّب هل الدرجة 80 أو أكثر؟
قاعدة سهلة: elif تعني: وإلا إذا كان هذا الشرط صحيحًا.
سؤال سريع 🧠 إذا كانت الدرجة 85، هل يطبع ممتاز أم جيد جدًا؟ الإجابة: جيد جدًا.
6

أكمل بقية الاحتمالات

نضيف شرطًا للدرجة 70 أو أكثر، ثم else للحالة المتبقية:

score = int(input("اكتب درجتك: "))

if score >= 90:
    print("ممتاز")
elif score >= 80:
    print("جيد جدًا")
elif score >= 70:
    print("جيد")
else:
    print("تحتاج تحسين")
سلم التقييم باستخدام elif في Python
تحقق قبل الانتقال ✅ هل فهمت أن else هنا تعني: إذا لم تكن الدرجة 90 أو 80 أو 70 فأكثر؟
7

خريطة الكود كاملة

اقرأ الكود كسلسلة مرتبة:

خريطة كود if elif else في Python

Python يفحص من الأعلى إلى الأسفل. أول شرط يتحقق ينفذه، ثم لا يحتاج إلى متابعة بقية الشروط في نفس السلسلة.

مهم: لا تكتب elif قبل if. السلسلة تبدأ دائمًا بـ if، ثم elif، ثم else إذا احتجناها.
سؤال سريع 🧠 هل يمكن أن تبدأ السلسلة بـ elif؟ لا، يجب أن تبدأ بـ if.
8

ترتيب الشروط مهم

في مثال الدرجات، نبدأ من الأعلى إلى الأقل:

90
80
70
else
أهمية ترتيب الشروط في Python

لماذا؟ لأن الدرجة 95 تحقق أيضًا شرط 80 وشرط 70، لذلك يجب أن نفحص 90 أولًا.

انتبه: ترتيب الشروط قد يغير نتيجة البرنامج. إذا وضعت الشرط الأقل أولًا، قد يحصل الطالب على تقييم أقل من المستحق.
تحقق قبل الانتقال ✅ هل فهمت لماذا بدأنا من 90 ثم 80 ثم 70؟
9

اكتب الكود الكامل وشغله

اكتب الكود كاملًا داخل ملف lesson_15.py:

score = int(input("اكتب درجتك: "))

if score >= 90:
    print("ممتاز")
elif score >= 80:
    print("جيد جدًا")
elif score >= 70:
    print("جيد")
else:
    print("تحتاج تحسين")

احفظ الملف:

Ctrl + S

ثم شغله:

python lesson_15.py

وإذا لم يعمل أمر python:

py lesson_15.py
تحقق قبل الانتقال ✅ هل اشتغل البرنامج وسألك عن درجتك؟
10

اختبر أكثر من درجة

لا تختبر قيمة واحدة فقط. جرّب أكثر من حالة:

95  → ممتاز
85  → جيد جدًا
75  → جيد
60  → تحتاج تحسين
ماذا تعلمت؟ نفس البرنامج يعطي نتائج مختلفة حسب الدرجة. هذه هي فائدة elif.
توقف لحظة ✅ هل اختبرت 95 و85 و75 و60؟ لا تعتمد الدرس قبل اختبار أكثر من احتمال.
11

تحدي صغير: استخدم f-string

عدل الرسائل حتى تعرض الدرجة داخل النتيجة:

score = int(input("اكتب درجتك: "))

if score >= 90:
    print(f"درجتك {score}: ممتاز")
elif score >= 80:
    print(f"درجتك {score}: جيد جدًا")
elif score >= 70:
    print(f"درجتك {score}: جيد")
else:
    print(f"درجتك {score}: تحتاج تحسين")
هدف التحدي: ربط الدروس السابقة. هنا استخدمنا input و int و if و elif و else و f-string في برنامج واحد.
تحقق قبل الانتقال ✅ هل ظهرت الدرجة داخل رسالة التقييم؟

اختبار نهاية الدرس

قبل الانتقال للدرس القادم، تأكد أنك فهمت هذه النقاط:

✅ فهمت أن elif تستخدم لأكثر من احتمال.
✅ عرفت أن السلسلة تبدأ بـ if.
✅ عرفت أن elif تأتي بعد if.
✅ فهمت أن else للحالة المتبقية.
✅ عرفت أن ترتيب الشروط مهم.
✅ بدأت التقييم من 90 ثم 80 ثم 70.
✅ اختبرت البرنامج بأكثر من قيمة.
✅ استخدمت f-string في التحدي.
إذا فهمت هذه النقاط: فأنت أصبحت قادرًا على جعل البرنامج يختار من عدة مسارات، وليس مسارين فقط.

خلاصة الدرس

elif تجعل البرنامج يفحص أكثر من شرط. يبدأ Python من if، ثم ينتقل إلى elif إذا لم يتحقق الشرط السابق، ثم يصل إلى else إذا لم يتحقق أي شرط.

تذكر القاعدة:

if condition_1:
    نفذ عند تحقق الشرط الأول
elif condition_2:
    نفذ عند تحقق الشرط الثاني
else:
    نفذ إذا لم يتحقق أي شرط

في الدرس القادم سنبدأ فهم القيم المنطقية بشكل أعمق، ونتعلم كيف ندمج الشروط باستخدام and و or.