تعليمات الشرط

4.2 تعليمات الشرط

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على:

  • تحديد العمليات التي تُنفَّذ عند تشغيل برنامج يحتوي على تعليمات if و if-else.
  • تحديد مكونات تعليمة if و if-else والتنسيق الضروري لها.
  • إنشاء تعليمة if-else لتنفيذ عملية عندما يكون الشرط صحيحًا وعملية أخرى بخلاف ذلك.

تعليمة الشرط

إذا كان الطقس ممطرًا، فخذ مظلة! يتخذ الناس قرارات بناءً على شروط مثل ما إذا كان الطقس ممطرًا، وتُنفِّذ البرامجُ عمليات بناءً على شروط مثل قيمة المُتغيِّر. مثال: يضيف برنامج عددين. إذا كانت النتيجة سالبة، يطبع البرنامج رسالة خطأ.

الشرط (condition) تعبيرٌ يُقيَّم إلى صحيح أو خطأ. تعليمة الشرط (if statement) بنيةٌ لاتخاذ القرار تحتوي على شرط ومجموعة من التعليمات. إذا كان الشرط صحيحًا، تُنفَّذ المجموعة. وإذا كان الشرط خاطئًا، لا تُنفَّذ المجموعة.

يجب تجميع مجموعة تعليمات تعليمة if معًا وأن تكون بمسافة بادئة واحدة. يوصي دليل الأنماط PEP 8 بأربع مسافات لكل مستوى مسافة بادئة. سيُنتج مُفسِّر بايثون خطأً إذا كانت المجموعة فارغة.

نقطة تحقق

مثال: التحقق من الكمية

استخدام المُتغيِّرات المنطقية

يحتوي المُتغيِّر المنطقي بالفعل على قيمة True أو False ويمكن استخدامه مباشرة في شرط بدلاً من استخدام عامل المساواة. مثال: يمكن تبسيط if is_raining == True: إلى if is_raining:.

مفاهيم تطبيقية

استخدام تعليمات if

1.
بالنظر إلى ما يلي، ما الجزء الذي يمثل الشرط؟
if age < 12:
  print("Discount for children available")
  1. age
  2. age < 12
  3. print("Discount for children available")
2.
بالنظر إلى ما يلي، ما الأسطر التي تُنفَّذ إذا كان الشرط صحيحًا؟
1
print("Have a great day.")
2
if is_raining:
3
  print("Don't forget an umbrella!")
4
print("See you soon.")
  1. 1, 2, 3
  2. 1, 2, 4
  3. 1, 2, 3, 4
3.
بالنظر إلى ما يلي (نفس ما سبق)، ما الأسطر التي تُنفَّذ إذا كان الشرط خاطئًا؟
1
print("Have a great day.")
2
if is_raining:
3
  print("Don't forget an umbrella!")
4
print("See you soon.")
  1. 1, 2, 3
  2. 1, 2, 4
  3. 1, 2, 3, 4
4.
بالنظر إلى num = -10، ما القيمة النهائية لـ num؟
if num < 0:
  num = 25
if num < 100:
  num = num + 50
  1. -10
  2. 40
  3. 75
5.
بالنظر إلى المدخل 10، ما القيمة النهائية لـ positive_num؟
positive_num = int(input("Enter a positive number:"))
if positive_num < 0:
  print("Negative input set to 0")
positive_num = 0
  1. 10
  2. 0
  3. Error

تعليمة if-else

تُعرّف تعليمة if الإجراءات التي يجب تنفيذها عندما يكون الشرط صحيحًا. ماذا لو كان الإجراء يحتاج إلى التنفيذ فقط عندما يكون الشرط خاطئًا؟ مثال: إذا كان المطعم على بعد أقل من ميل، فسنمشي. وإلّا، فسنقود السيارة.

تُستخدم تعليمة وإلّا (else statement) مع تعليمة if وتحتوي على مجموعة من التعليمات التي تُنفّذ عندما يكون شرط تعليمة if خاطئًا. عند تنفيذ تعليمة if-else، يُختار فرعٌ واحد فقط. أي، تُنفَّذ مجموعة تعليمات if أو مجموعة تعليمات else. ملاحظة: تكون تعليمة else على نفس مستوى المسافة البادئة لتعليمة if، وتكون مجموعة التعليمات بمسافة بادئة.

قالب تعليمة if-else:

1
# تعليمات قبل
2
3
if condition:
4
  # مجموعة التعليمات
5
else:
6
  # مجموعة التعليمات
7
8
# تعليمات بعد

نقطة تحقق

مثال: سؤال معلومات عامة

مفاهيم تطبيقية

استكشاف تعليمات if-else

6.
بالنظر إلى الشِفرة التالية، يُختار فرعٌ else لأي مدى من x؟
if x >= 15:
  # نفّذ شيئًا ما
else:
  # نفّذ شيئًا آخر
  1. x >= 15
  2. x <= 15
  3. x < 15
7.
بالنظر إلى x = 40، ما القيمة النهائية لـ y؟
if x > 30:
  y = x - 10
else:
  y = x + 10
  1. 30
  2. 40
  3. 50
8.
بالنظر إلى y = 50، ما القيمة النهائية لـ y التي لا يمكن أن تكون؟
if x < 50:
  y = y / 2
else:
  y = y * 2
y = y + 5
  1. 30
  2. 55
  3. 105

جرّب بنفسك

القسمة المحسّنة

يقوم البرنامج التالي بقسمة عددين صحيحين. القسمة على 0 تُنتج خطأً. عدّل البرنامج لقراءة مقام جديد (بدون مِحَث) إذا كان المقام 0.

جرّب بنفسك

تحويل وحدات درجة الحرارة

يقرأ البرنامج التالي درجة حرارة كعدد عشري والوحدة كسلسلة نصية: "f" للفهرنهايت أو "c" للسيلسيوس.

احسب new_temp، وهي نتيجة تحويل temp من فهرنهايت إلى سيلسيوس أو من سيلسيوس إلى فهرنهايت بناءً على الوحدة. احسب new_unit: "c" إذا كانت الوحدة "f" و "f" إذا كانت الوحدة "c".

صيغ التحويل:

  • درجات السيلسيوس = (درجات الفهرنهايت - 32) * 5/9
  • درجات الفهرنهايت = (درجات السيلسيوس * 5/9) + 32