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

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

الطرق المتعددة

ذكرنا أنه باستخدام else يمكننا تشكيل ما يشبه مفترق طرق: إما أن تذهب في طريق if أو في طريق else ، فهناك طريقان يتم اختيار أحدهما. لكن في الحقيقة: يمكننا تشكيل مفترق طرق لأكثر من طريقين؛ يمكننا تشكيل مفترق طرق لثلاث وأربع وخمس طرق وأكثر من ذلك. يمكننا فعل ذلك باستخدام elif.

مثال:

if x < 2:
    print('صغير')
elif x < 10:
    print('وسط')
else:
    print('كبير')
print('انتهى البرنامج')

ويمكن تمثيل سير هذا الكود عن طريق المخطط التالي:

بداية سيسأل هل x أقل من 2؟ إذا كان الجواب “صحيح” سيطبع صغير وينتقل إلى جملة الطباعة الأخيرة ويطبع انتهى البرنامج. أما إذا كان الجواب “خطأ” وكانت x أكبر أو تساوي 2: عندها سينتقل إلى elif وسيسأل هل x أقل من 10؟ إذا كان الجواب “صحيح” سيطبع وسط وينتقل إلى جملة الطباعة الأخيرة ويطبع انتهى البرنامج. أما إذا كان الجواب “خطأ” وكانت x أكبر أو تساوي 10: عندها سينتقل إلى else وسيطبع كبير ثم سيطبع انتهى البرنامج.

لاحظ أنه عندما يكون لدينا عدة شروط (مع if و elif و else) فدائماً سيتم تنفيذ الأوامر التابعة لواحد منها. مثلاً في المثال أعلاه: سيتم تنفيذ الأوامر التابعة لـ if أو الأوامر التابعة لـ elif أو الأوامر التابعة لـ else.

هذا الكود يعتمد تنفيذه على قيمة x. إذا افترضنا أن x كانت قيمتها 0 قبل هذا الكود فما الذي ستتم طباعته؟ بناء على المخطط والشرح أعلاه: فإن البرنامج سيطبع صغير ثم انتهى البرنامج لأن جواب شرط if سيكون “صحيح” (أو “True”) عندما تكون x قيمتها 0.

ماذا لو كانت قيمة x تساوي 5؟ باتباع نفس المنطق: سنرى أنه سيتم طباعة وسط ثم انتهى البرنامج لأن جواب شرط if سيكون “خطأ” لكن جواب شرط elif سيكون “صحيح”.

ماذا لو كانت قيمة x تساوي 20؟ عندها سيتم طباعة كبير ثم انتهى البرنامج لأن شرط if سيكون جوابه “خطأ” (20 ليست أقل من 2) وكذلك شرط elif سيكون جوابه “خطأ” (لأن 20 ليست أقل من 10)، فبعد ذلك لا يتبقى لدينا إلا else و else دائماً ليس لها شرط، فعندما تكون أجوبة الشروط التي قبل else كلها “خطأ” يقوم البرنامج بتنفيذ الأوامر التابعة لـ else.

إذا أردنا التعبير عن هذا البرنامج بلغتنا سنقول:

إذا كانت x أقل من 2: اطبع صغير

أما إذا كانت x أقل من 10: اطبع وسط

إذا لم تتحقق الشروط السابقة: اطبع كبير

يمكنك إضافة ما تشاء من جمل elif. في هذا المثال كان لدينا جملة elif واحدة لكن إن احتجت يمكن أن تضع ثلاثة وأربعة وأكثر حسب ما تحتاجه في برنامجك. يمكنك أيضاً أن تستغني عن else إذا لم تكن تحتاجها. في المثال التالي لن يتم طباعة شيء إلا انتهى البرنامج:

x = 50

if x < 2:
    print('صغير')
elif x < 10:
    print('وسط')
print('انتهى البرنامج')

فيديو الدرس