طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 111 · أساسيات برمجة الحاسب
الدرس 9 · الوحدة 3: القرار والتكرار

الشروط المتعددة: elif و and و or

نتعامل مع أكثر من حالتين، ونجمع الشروط بـ and و or. ⏱ نحو 15 دقيقة.

90 فأكثر: ممتاز75 فأكثر: جيد جدًّا60 فأكثر: ناجحأقل من 60: راسب
بعد هذا الدرس ستستطيع أن:
  • تكتب أكثر من حالتين بـ if و elif و else.
  • تجمع شرطين بـ and.
  • تكتفي بأحد شرطين بـ or.
  • ترتّب الشروط ترتيبًا صحيحًا.

١أكثر من حالتين: elif

التقدير له أكثر من حالتين: ممتاز، أو جيد جدًّا، أو ناجح، أو راسب. نستخدم elif ومعناها «وإلا إذا»:

main.py
mark = int(input("الدرجة: "))if mark >= 90:    print("ممتاز")elif mark >= 75:    print("جيد جدًّا")elif mark >= 60:    print("ناجح")else:    print("راسب")
Shell×
>>> %Run main.py
الدرجة: 82
جيد جدًّا
>>>

يفحص بايثون الشروط من الأعلى، ويتوقف عند أول شرط صحيح وينفّذه فقط. الدرجة 82 ليست 90 فأكثر، لكنها 75 فأكثر، فطُبع «جيد جدًّا» وتوقف الفحص.

٢الشرطان معًا: and

«الجو معتدل إذا كانت الحرارة 20 أو أكثر و 30 أو أقل». مع and يجب أن يتحقق الشرطان كلاهما:

main.py
temp = 25if temp >= 20 and temp <= 30:    print("جو معتدل")else:    print("ليس معتدلًا")
Shell×
>>> %Run main.py
جو معتدل
>>>

٣أحد الشرطين: or

«اليوم عطلة إذا كان الجمعة أو السبت». مع or يكفي أن يتحقق شرط واحد:

main.py
day = "السبت"if day == "الجمعة" or day == "السبت":    print("عطلة")else:    print("يوم دراسي")
Shell×
>>> %Run main.py
عطلة
>>>
الأداةمتى تعطي True؟
andإذا تحقق الشرطان كلاهما
orإذا تحقق شرط واحد على الأقل

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

لأن بايثون يتوقف عند أول شرط صحيح، نبدأ بالشرط الأضيق. انظر ماذا يحدث لو بدأنا بـ 60:

main.py
mark = 95if mark >= 60:    print("ناجح")elif mark >= 90:    print("ممتاز")
Shell×
>>> %Run main.py
ناجح
>>>

95 أكبر من 60، فطُبع «ناجح» ولم يصل البرنامج إلى شرط «ممتاز» أبدًا. الحل: ابدأ بـ 90، ثم 75، ثم 60.

📎 للاستزادة (اختياري): عكس الشرط بـ not

not تعكس النتيجة: الصح يصبح خطأ، والخطأ يصبح صحًّا.

main.py
raining = Falseif not raining:    print("اخرج بلا مظلة")
Shell×
>>> %Run main.py
اخرج بلا مظلة
>>>

توقّع وتحقّق

ماذا تعني elif؟

شرط جديد يُفحص إذا لم يتحقق ما قبله.

x = 15. متى تكون x > 10 and x < 20 صحيحة؟

15 أكبر من 10 وأصغر من 20.

متى يعطي or النتيجة True؟

يكفي شرط واحد.

الدرجة 70 في برنامج التقديرات (90، 75، 60). ماذا يُطبع؟

70 ليست 90 ولا 75 فأكثر، لكنها 60 فأكثر.

الخلاصة

تحدٍّ برمجي: تصنيف العمر

متوسط

اكتب برنامجًا يقرأ العمر، ويطبع: طفل (أقل من 13)، أو مراهق (أقل من 18)، أو بالغ.

المطلوب:
  • اقرأ العمر عددًا صحيحًا.
  • استخدم if و elif و else.
  • انتبه لترتيب الشروط.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

main.py
age = int(input("العمر: "))
المطلوب×
العمر: 15
مراهق
💡 تلميح 1
ابدأ بالشرط age < 13.
💡 تلميح 2
ثم elif age < 18، ثم else.

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

main.py
age = int(input("العمر: "))if age < 13:    print("طفل")elif age < 18:    print("مراهق")else:    print("بالغ")
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←