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

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

الجمل الشرطية المتداخلة

هل يمكن أن نكتب جملة شرطية داخل جملة شرطية أخرى في بايثون؟ نعم بالطبع. لنر مثالاً على ذلك:

x = 12
if x > 3:
    print('Larger than 3')
    if x < 19:
        print('Less than 19')
print('All done')

هنا في البداية نسأل هل x أكبر من 3؟ ولأننا وضعنا 12 في x فإن جواب هذا الشرط سيكون True وسيتم تنفيذ أول جملة تابعة لهذا الشرط وهي طباعة "Larger than 3" ثم يتم تنفيذ الجملة الثانية التابعة للشرط وهي جملة شرطية أخرى نسأل فيها هل x أقل من 19 وبالطبع سيكون الجواب True أيضاً لأن قيمة x هي 12 وبالتالي سيتم تنفيذ الجملة التابعة لهذا الشرط الثاني والتي ستطبع "Less than 19" ثم نخرج من الجملة الشرطية الثانية والأولى لنواجه جملة الطباعة والتي ستطبع "All done".

انتبه للانزياحات في هذا المثال. المخطط التالي يعرض رسماً لكيفية تنفيذ هذا البرنامج:

الشروط المتداخلة في بايثون

تنفيذ تعليمات عندما لا يتحقق الشرط (باستخدام else)

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

x = 5
if x > 7:
    print('أكبر من 7')

بناء على ما تعلمناه فإن هذا البرنامج لن يطبع شيئاً لعدم تحقق الشرط، والآن إذا أضفنا else للمثال كما يلي:

x = 5 
if x > 7:
    print('أكبر من 7')
else:
    print('ليس أكبر من 7')

فإن البرنامج سيطبع "ليس أكبر من 7" لأن الشرط لم يتحقق فانتقلنا إلى الجملة التابعة لـ else والتي يتم الانتقال إليها عند عدم تحقق الشرط.

الرسم التخطيطي التالي يوضح أكثر كيفية سير البرنامج السابق:

الشروط في بايثون: else

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

وانتبه إلى أن كل else لا بد أن يكون هناك if قبلها فكل else تتعلق بـ if ولكن من الممكن أن نرى if بدون else كما رأينا في الأمثلة السابقة.

فيديو الدرس