أحيانًا لا يكفي شرط واحد. مثلًا: المطعم يعطي خصمًا إذا جاء شخصان أو أكثر وكان معهم 3000 نقطة أو أكثر. نحتاج أن نفحص الشرطين معًا في جملة if واحدة.
| العامل | المعنى | يكون صحيحًا (True) عندما |
|---|---|---|
| A and B | و | الشرطان A و B صحيحان معًا |
| A or B | أو | أحد الشرطين على الأقل صحيح |
and: الشرطان معًا
مع and يُنفَّذ الأمر فقط إذا تحقق كل شرط. لو لم يتحقق شرط واحد فالنتيجة كلها False:
people = 3
points = 2500
if people >= 2 and points >= 3000:
print("20% off")
else:
print("No 20% discount")No 20% discount
or: يكفي أحدهما
مع or يكفي أن يتحقق شرط واحد. في نفس المثال، عدد الأشخاص وحده يحقق الشرط:
people = 3
points = 2500
if people >= 2 or points >= 3000:
print("10% off")10% off
وor مفيدة لفحص مدى خارج رقمين؛ مثل تذكرة مخفضة للأطفال حتى 12 سنة أو لكبار السن من 65 سنة:
age = 70
if age <= 12 or age >= 65:
print("30% off")
else:
print("Full price")30% off
وand مفيدة لفحص رقم داخل مدى؛ مثل درجة بين 50 و 100:
mark = 75
if mark >= 50 and mark <= 100:
print("Passed")Passed
and وor: age <= 12 or age >= 65 صحيح، أما age <= 12 or >= 65 فخطأ في الكتابة.تدريبات
أكمل الشرط: إذا كانت people تساوي 2 أو أكثر وpoints تساوي 3000 أو أكثر، يُطبع 20% off.
people = 3
points = 3500
if ___:
print("20% off")اضغط «تشغيل» لترى النتيجة. أسند 2 إلى people و 3500 إلى points. إذا كانت people تساوي 2 أو أكثر وpoints تساوي 3000 أو أكثر اطبع Get an eco bag.
اضغط «تشغيل» لترى النتيجة. أسند 15 إلى age. إذا كانت age تساوي 12 أو أقل أو 65 أو أكثر اطبع 30% off، وإلا اطبع Full price.
اضغط «تشغيل» لترى النتيجة. أسند 12 إلى age و 2 إلى people. إذا كانت age تساوي 12 أو أقل وpeople تساوي 1 أو أكثر اطبع Child fare.
اضغط «تشغيل» لترى النتيجة. أكمل الشرط: إذا كان عدد الأشخاص 10 أو أكثر أو المجموع 10000 أو أكثر يُطبع Bonus Gift.
number_of_people = 4
total = 13500
if ___:
print("Bonus Gift")اضغط «تشغيل» لترى النتيجة. يدخل الطالب المسابقة إذا كانت درجته في الرياضيات 85 أو أكثر ونسبة حضوره 90 أو أكثر. مع math = 88 و attendance = 86 اطبع Accepted أو Not accepted.
math = 88 attendance = 86
اضغط «تشغيل» لترى النتيجة. المدرسة تُلغي طابور الصباح إذا كانت درجة الحرارة 38 أو أكثر أو كان المطر يساوي "yes". مع temp = 31 و rain = "yes" اطبع No assembly today، وإلا اطبع Assembly at 8:00.
temp = 31 rain = "yes"
اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
A and Bصحيح فقط إذا تحقق الشرطان معًا.A or Bصحيح إذا تحقق أحدهما على الأقل.- اكتب شرطًا كاملًا على كل جانب:
age <= 12 or age >= 65.