مقدمة إلى الجمل الشرطية (If Statements)
سنتعلم الآن كيف نجعل الحاسوب يتخذ قرارات، بحيث ينفذ كودًا معينًا فقط عند تحقق شروط محددة. لهذا نحتاج إلى نوع جديد من القيم. لقد رأيت الأعداد والنصوص؛ والآن تعرّف على القيم المنطقية (Booleans).
توجد قيمتان منطقيتان فقط: True وFalse. جرّب هذا البرنامج:
condition = True
print(condition)
condition = False
print(condition)
صُممت القيم المنطقية لتُستخدم داخل جمل if، التي تسمى أحيانًا الجمل الشرطية (Conditionals).
إليك مثالًا بسيطًا؛ شغّله:
if True:
print('This gets printed')
if False:
print('This does not')
لاحظ كيف نُفذ الكود داخل جملة if الأولى، بينما لم يُنفذ الكود داخل الثانية.
بوجه عام تكون جملة if بهذا الشكل:
if <condition>:
<body>
حيث <condition> هو أي تعبير تكون نتيجته قيمة منطقية، و<body> هو قائمة مزاحة إلى الداخل من تعليمة واحدة أو أكثر. بنيتها تشبه إلى حد كبير حلقة for. وانتبه إلى النقطتين : لأن وجودهما ضروري.
عندما يرى الحاسوب if <condition>: فإنه يتحقق مما إذا كانت قيمة <condition> هي True. إذا كانت كذلك، ينفذ الجسم. وإذا لم تكن كذلك، يتجاوز الجسم ويواصل تنفيذ بقية البرنامج.
إليك مثالًا أكثر إثارة؛ شغّله:
sentence = 'Hello World'
excited = True
if excited:
sentence += '!'
print(sentence)
تذكر أن sentence += '!' تعني sentence = sentence + '!'.
غيّر excited = True إلى excited = False وشغّل البرنامج مرة أخرى لترى الفرق.
حان وقت تمرين. عدّل البرنامج السابق ليحتوي على متغير منطقي إضافي اسمه confused، بحيث يبدأ البرنامج هكذا:
sentence = 'Hello World'
excited = False
confused = True
يمكن أن تكون sentence أي نص، ويمكن أن تكون كل من القيمتين المنطقيتين True أو False.
عندما تكون confused صحيحة، يجب أن تُضاف علامة استفهام إلى نهاية الجملة المطبوعة. وإذا كانت confused وexcited صحيحتين معًا، يجب أن تنتهي الجملة بـ!?.
You only need to add a few lines to the existing program. All the existing code should be left as is.
The code that you add should be very similar to the existing code.
أحسنت! يستطيع هذا البرنامج الآن تنفيذ أربع حالات مختلفة بحسب قيمتي excited وconfused. جرّب التركيبات المختلفة بنفسك إذا أردت.