تعلم البرمجة بلغة بايثون - الدرس الثاني عشر: الشروط في بايثون

في هذا الدرس من سلسلة “تعلم البرمجة من الصفر بلغة بايثون” سنكمل حديثنا عن الشروط في بايثون حيث سنتعرف على عمليات المقارنة الرئيسية في بايثون ونرى أمثلة عنها.

في الدرس السابق رأينا نوعين من عمليات المقارنة في جمل if: رأينا إشارة “أكبر من” < و إشارة “أقل من” > واستخدمناهما لسؤال “هل x أقل من 10؟” و “هل x أكبر من 20؟”

الجدول التالي يوضح عمليات المقارنة المتوفرة لنا في بايثون ومعانيها:

عامل المقارنة المعنى
> أقل من
=> أقل من أو يساوي
== يساوي
=< أكبر من أو يساوي
< أكبر من
=! لا يساوي

انتبه إلى الفرق بين عامل المقارنة == وعامل الإسناد =. عامل المقارنة يقارن بين قيمتين فإن كانتا متساويتين يعطي True وإن لم تكونا متساويتين يعطي False. أما عامل الإسناد فيضع قيمة داخل متغير كما رأينا في العديد من الأمثلة في الدروس الماضية: مثلاً x = 11 تضع قيمة 11 في المتغير x.

أمثلة عن عمليات المقارنة

لننظر إلى المثال التالي:

d = 7
if d == 7:
    print('Equals 7')
if d > 5:
    print('Greater than 5')
if d < 4:
    print('Less than 4')
if d >= 3:
    print('Greater than or equals 3')
if d <= 7:
    print('Less than or equals 7') 
if d != 9:
    print('Not equal to 6')

في البداية عرفنا متغيراً اسمه d ووضعنا فيه 7. ثم قمنا بتنفيذ عدة جمل شرطية. نتيجة تنفيذ هذا البرنامج هي السطور التالية:

Equals 7
Greater than 5
Greater than or equals 3
Less than or equals 7
Not equal to 6

فنرى أنه تم طباعة جميع الجمل التابعة للشروط باستثناء الجملة التابعة للشرط الثالث d < 4 لأن جواب هذا الشرط False (أي “خطأ”) بينما أجوبة جميع الشروط الأخرى True (أي “صحيح”).

والآن لنرَ مثالاً آخر:

d = 7
if d > 5:
    print('Greater than 5')
    print('Larger than 5')
    print('ABC')
print('End')

في هذا المثال عرفنا متغيراً اسمه d وضعنا فيه 7 ثم أتينا إلى شرط يسأل هل d أكبر من 5؟ وبما أن قيمة d - وهي 7 - أكبر من 5 فإن جواب الشرط سيكون True أي صحيح، وبالتالي سيتم تنفيذ الجمل الثلاث التابعة للشرط وبعد الانتهاء منها سيتم تنفيذ أمر الطباعة الأخير وينتهي البرنامج. مخرجات البرنامج ستكون كالتالي:

Greater than 5
Larger than 5
ABC
End

بينما لو كان الشرط d > 8 بدل أن يكون d > 5 فلن يتم تنفيذ الجمل التابعة للشرط وستكون مخرجات البرنامج كما يلي:

End

في هذا المثال: كيف نعرف أننا انتهينا من الجمل التابعة لـ if ؟ نعرف ذلك عندما يقل انزياح الجمل إلى اليمين ونعود إلى المستوى الذي كنا فيه قبل هذه الجمل.

كيفية تحقيق الانزياح في بايثون

كما قلنا فإننا نقوم بزيادة انزياح الجمل التابعة لشرط ما إلى اليمين للدلالة على أنها تابعة لذلك الشرط. لكن كيف نزيحها؟ قلنا أن المقدار المنصوح به هو أربعة فراغات ويمكن كتابة هذه الفراغات باستخدام زر المسافة على لوحة المفاتيح أربع مرات. يمكن أيضاً إزاحة الجمل بمقدار فراغين فقط ويمكن أيضاً استخدام زر TAB على لوحة المفاتيح لإزاحة الجمل. لكن هنا ملاحظة مهمة: يجب أن تستخدم نفس أسلوب تحقيق الانزياح في كامل برنامجك: اختر أسلوباً واحداً واستخدمه.

أيضاً عليك التنبه إلى أنه عندما تستخدم أسلوب الأربع فراغات وعندما تستخدم أسلوب TAB فإن الناتج متشابه في المظهر (يعني هذه أربع فراغات: وهذا TAB: ) لكن بالنسبة لبايثون هناك فرق وقد يؤدي ذلك إلى خطأ في تنفيذ البرنامج. لحسن الحظ فإن العديد من محررات النصوص البرمجية - مثل Visual Studio Code الذي نستخدمه في هذه الدورة - تحول TAB إلى فراغات.

فملخص الكلام: إذا كنت تستخدم Visual Studio Code فاضغط TAB لتحقيق الانزياح (فذلك أسهل من ضغط زر المسافة أربع مرات) وسيقوم المحرر بإدراج أربعة فراغات. أما إن كان محرر النصوص الذي تستخدمه لا يحول TAB إلى فراغات فعليك إدخال الفراغات يدوياً باستخدام زر المسافة.

فيديو الدرس