معاملات المقارنة (Comparison Operators)
عكس معامل المساواة == هو معامل عدم المساواة !=. وإذا نظرت إليه قليلًا فستجده يشبه الرمز ≠. تكون نتيجة التعبير True عندما تكون القيمتان... غير متساويتين. جرّب 1 != 2 بنفسك في الطرفية.
إليك برنامجًا صغيرًا لطيفًا يستخدم !=:
sentence = 'The e key on my keyboard is broken'
new_sentence = ''
for c in sentence:
if c != 'e':
new_sentence += c
print(new_sentence)
من المعاملات المفيدة أيضًا < بمعنى «أصغر من» و> بمعنى «أكبر من». مثلًا، a < b تعني أن a أصغر من b. جرّب استخدام أحد هذين المعاملين في الطرفية لمقارنة عددين.
You only need to run one very small, simple line in the shell.
How would you add two numbers in the shell?
For example, try
123 + 456For this exercise you have to do basically that, but compare them instead.
يمكنك استخدام هذه المعاملات لمقارنة النصوص أيضًا. إذا رتبت نصين ترتيبًا أبجديًا، فالنص الذي يأتي أولًا يُعد «أصغر من» النص الذي يأتي بعده. جرّب ذلك بنفسك.
This is almost exactly the same as the previous step, just use strings instead of numbers.
You only need to run one very small, simple line in the shell.
You can also do this by running multiple lines in the shell, first defining variables and then comparing them, but you don't need to, this can be done without variables.
Remember adding two strings in the shell at the beginning of the course?
For example, we did
'hello' + 'world'For this exercise you have to do basically that, but compare them instead.
إليك مثالًا عمليًا على استخدام <؛ جرّبه:
percentage = 73
if percentage < 40:
grade = 'F'
elif percentage < 60:
grade = 'C'
elif percentage < 80:
grade = 'B'
else:
grade = 'A'
print(grade)
تذكر أن elif percentage < 60 بعد if percentage < 40 تعني: «إذا لم تكن النسبة أقل من 40، وكانت أقل من 60». ولذلك ينجح هذا الفرع مع كل الأعداد من 40 إلى 59 شاملًا. وبالطريقة نفسها تكون الدرجة 'B' للنسب من 60 إلى 79، وتكون 'A' لأي نسبة تبدأ من 80 فما فوق.
والآن تمرين: اكتب برنامجًا يستقبل ثلاثة متغيرات x1 وx2 وx3، ثم يطبع قيمة أصغرها. فإذا كانت القيم:
x1 = 30
x2 = 10
x3 = 20
فيجب أن يطبع البرنامج 10.
Try writing a program which prints the smallest of just
x1andx2.All you need is a few uses of
<,if, and maybeelse.
رائع!
يمكن حل المسألة بعدة طرق. أحد الحلول:
if x1 < x2: if x1 < x3: first = x1 else: first = x3 else: if x2 < x3: first = x2 else: first = x3
print(first) وحل آخر:
first = x1
if x2 < first: first = x2
if x3 < first: first = x3
print(first) تعمل هذه البرامج، وكذلك حلك، مع الأعداد والنصوص. فإذا كانت القيم:
x1 = 'Charlie'
x2 = 'Alice'
x3 = 'Bob'
فستطبع Alice لأنها تسبق القيم الأخرى أبجديًا.
يعطي العاملان < و> القيمة False عندما تكون القيمتان متساويتين. فالعدد 3 ليس أصغر من 3 ولا أكبر منه، ولذلك 3 < 3 و3 > 3 كلاهما False. للسماح بالمساواة نستخدم <= و>=. لاحظ أن علامة = تأتي ثانيًا؛ فلا يوجد عاملان باسم =< أو =>. ويمكن تذكرهما بقراءتهما «أصغر من أو يساوي» و«أكبر من أو يساوي».
إذًا أهم معاملات المقارنة هي == و!= و< و> و<= و>=. وإذا شككت في سلوك أي واحد منها، جرّبه مباشرة في الطرفية.