Python / اتخاذ القرار

جملة elif

اختر بين أكثر من طريقين بسلسلة if و elif و else، ورتّب الشروط ترتيبًا صحيحًا. منهج البكالوريا

if - else تعطي طريقين فقط. لكن تذكرة السينما قد تكون رقم 1 أو 2 أو 3، ولكل رقم جائزة. لإضافة شرط جديد نستخدم elif، وهي اختصار «else if»: وإلا، إذا...

Python
ticket = 2
if ticket == 1:
    print("Free drink")
elif ticket == 2:
    print("Includes popcorn")
elif ticket == 3:
    print("Mini snack set")
وحدة التحكم
Includes popcorn

نضيف من elif ما نشاء، ثم else اختيارية في النهاية لكل حالة لم يطابقها أي شرط:

Python
ticket = 10
if ticket == 1:
    print("Free drink")
elif ticket == 2:
    print("Includes popcorn")
else:
    print("No prize")
وحدة التحكم
No prize

كيف تُنفَّذ السلسلة

الكمبيوتر يقرأ الشروط من أعلى إلى أسفل، ويتوقف عند أول شرط صحيح؛ ينفّذ ما تحته ويتخطى باقي السلسلة كلها. لذلك يُنفَّذ جزء واحد فقط على الأكثر:

Python
cup = 0
if cup <= 10:
    print("10 or fewer")
elif cup <= 5:
    print("5 or fewer")
elif cup <= 3:
    print("3 or fewer")
وحدة التحكم
10 or fewer
الشروط الثلاثة صحيحة عندما cup = 0، لكن يُطبع الأول فقط. لذلك ضع الشرط الأضيق أولًا: == 0 ثم <= 3 ثم الباقي.
Python
cup = 2
if cup == 0:
    print("We need to go buy some!")
elif cup <= 3:
    print("It's almost gone")
else:
    print("There is still some")
وحدة التحكم
It's almost gone

السلسلة تبدأ دائمًا بـ if واحدة، وelse إن وُجدت تكون آخرها. وكل elif لها شرط، أما else فلا.

تدريبات

1عدّل البرنامجتدريب المنهج

أضف في نهاية البرنامج: إذا كان ticket يساوي 4 اطبع Goods voucher، وإذا لم يطابق أي شرط اطبع No prize.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
ticket = 10
if ticket == 1:
    print("Free drink")
elif ticket == 2:
    print("Includes popcorn")
elif ticket == 3:
    print("Mini snack set")
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
2اكتب البرنامجتدريب المنهج

أسند 3 إلى people. إذا كان people يساوي 2 اطبع 10% off، وإذا كان 3 أو أكثر اطبع 20% off، وإلا اطبع Regular price.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
3أكمل الفراغتدريب المنهج

أكمل سطر elif: إذا كانت قيمة score 80 أو أكثر اطبع Pass.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
score = 82
if score == 100:
    print("Perfect score")
___
    print("Pass")
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
4اكتب البرنامجتدريب المنهج

أسند 5 إلى egg. إذا كان egg يساوي 0 اطبع Out of stock، وإلا إذا كان 3 أو أقل اطبع Low stock، وإلا اطبع In stock.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
5اكتب البرنامجتدريب المنهج

أسند 77 إلى english. إذا كان 100 اطبع Perfect score، وإلا إذا كان 75 أو أكثر اطبع Pass، وإلا اطبع Make-up exam.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
6عدّل البرنامجتدريب إضافي

البرنامج يطبع C لكل درجة 65 فأكثر لأن الشروط بترتيب خاطئ. أعد ترتيبها (A من 85، B من 75، C من 65، وإلا D) ليطبع B للدرجة 78.

تلميحابدأ بالشرط الأضيق: الأعلى درجة أولًا.
Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
mark = 78
if mark >= 65:
    print("C")
elif mark >= 75:
    print("B")
elif mark >= 85:
    print("A")
else:
    print("D")
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
7اكتب البرنامجتدريب إضافي

أسند 38 إلى temp. إذا كانت 35 أو أكثر اطبع Very hot: drink water، وإلا إذا كانت 25 أو أكثر اطبع Nice day، وإلا إذا كانت 15 أو أكثر اطبع Take a jacket، وإلا اطبع Cold: stay warm.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.

النقاط الرئيسية

  • الشكل: if ثم أي عدد من elif الشرط: ثم else: اختيارية في النهاية.
  • تُفحص الشروط من الأعلى، ويُنفَّذ أول شرط صحيح فقط.
  • ضع الشرط الأضيق أولًا حتى لا يغطي عليه شرط أوسع.