if - else تعطي طريقين فقط. لكن تذكرة السينما قد تكون رقم 1 أو 2 أو 3، ولكل رقم جائزة. لإضافة شرط جديد نستخدم elif، وهي اختصار «else if»: وإلا، إذا...
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 اختيارية في النهاية لكل حالة لم يطابقها أي شرط:
ticket = 10
if ticket == 1:
print("Free drink")
elif ticket == 2:
print("Includes popcorn")
else:
print("No prize")No prize
كيف تُنفَّذ السلسلة
الكمبيوتر يقرأ الشروط من أعلى إلى أسفل، ويتوقف عند أول شرط صحيح؛ ينفّذ ما تحته ويتخطى باقي السلسلة كلها. لذلك يُنفَّذ جزء واحد فقط على الأكثر:
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
== 0 ثم <= 3 ثم الباقي.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 فلا.
تدريبات
أضف في نهاية البرنامج: إذا كان ticket يساوي 4 اطبع Goods voucher، وإذا لم يطابق أي شرط اطبع No prize.
ticket = 10
if ticket == 1:
print("Free drink")
elif ticket == 2:
print("Includes popcorn")
elif ticket == 3:
print("Mini snack set")اضغط «تشغيل» لترى النتيجة. أسند 3 إلى people. إذا كان people يساوي 2 اطبع 10% off، وإذا كان 3 أو أكثر اطبع 20% off، وإلا اطبع Regular price.
اضغط «تشغيل» لترى النتيجة. أكمل سطر elif: إذا كانت قيمة score 80 أو أكثر اطبع Pass.
score = 82
if score == 100:
print("Perfect score")
___
print("Pass")اضغط «تشغيل» لترى النتيجة. أسند 5 إلى egg. إذا كان egg يساوي 0 اطبع Out of stock، وإلا إذا كان 3 أو أقل اطبع Low stock، وإلا اطبع In stock.
اضغط «تشغيل» لترى النتيجة. أسند 77 إلى english. إذا كان 100 اطبع Perfect score، وإلا إذا كان 75 أو أكثر اطبع Pass، وإلا اطبع Make-up exam.
اضغط «تشغيل» لترى النتيجة. البرنامج يطبع C لكل درجة 65 فأكثر لأن الشروط بترتيب خاطئ. أعد ترتيبها (A من 85، B من 75، C من 65، وإلا D) ليطبع B للدرجة 78.
تلميح
ابدأ بالشرط الأضيق: الأعلى درجة أولًا.mark = 78
if mark >= 65:
print("C")
elif mark >= 75:
print("B")
elif mark >= 85:
print("A")
else:
print("D")اضغط «تشغيل» لترى النتيجة. أسند 38 إلى temp. إذا كانت 35 أو أكثر اطبع Very hot: drink water، وإلا إذا كانت 25 أو أكثر اطبع Nice day، وإلا إذا كانت 15 أو أكثر اطبع Take a jacket، وإلا اطبع Cold: stay warm.
اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
- الشكل:
ifثم أي عدد منelif الشرط:ثمelse:اختيارية في النهاية. - تُفحص الشروط من الأعلى، ويُنفَّذ أول شرط صحيح فقط.
- ضع الشرط الأضيق أولًا حتى لا يغطي عليه شرط أوسع.