cb
codebamin
الفصل 5 · الجمل الشرطية (If Statements)

معاملات المقارنة (Comparison Operators)

عكس معامل المساواة == هو معامل عدم المساواة !=. وإذا نظرت إليه قليلًا فستجده يشبه الرمز ≠. تكون نتيجة التعبير True عندما تكون القيمتان... غير متساويتين. جرّب 1 != 2 بنفسك في الطرفية.

إليك برنامجًا صغيرًا لطيفًا يستخدم !=:

__copyable__ __program_indented__

من المعاملات المفيدة أيضًا < بمعنى «أصغر من» و> بمعنى «أكبر من». مثلًا، a < b تعني أن a أصغر من b. جرّب استخدام أحد هذين المعاملين في الطرفية لمقارنة عددين.

يمكنك استخدام هذه المعاملات لمقارنة النصوص أيضًا. إذا رتبت نصين ترتيبًا أبجديًا، فالنص الذي يأتي أولًا يُعد «أصغر من» النص الذي يأتي بعده. جرّب ذلك بنفسك.

إليك مثالًا عمليًا على استخدام <؛ جرّبه:

__program_indented__

تذكر أن 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.

رائع!

يمكن حل المسألة بعدة طرق. أحد الحلول:

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. للسماح بالمساواة نستخدم <= و>=. لاحظ أن علامة = تأتي ثانيًا؛ فلا يوجد عاملان باسم =< أو =>. ويمكن تذكرهما بقراءتهما «أصغر من أو يساوي» و«أكبر من أو يساوي».

إذًا أهم معاملات المقارنة هي == و!= و< و> و<= و>=. وإذا شككت في سلوك أي واحد منها، جرّبه مباشرة في الطرفية.

solution.py
1
2
3
4
5
6
7
8
9
10
الطرفية (shell)
>>>