4.6 قرارات متداخلة
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على
- وصف مسارات تنفيذ البرامج التي تحتوي على تعليمات الشرط المتداخلة (if-else statements).
- تنفيذ برنامج يحتوي على تعليمات الشرط المتداخلة.
تعليمات القرارات المتداخلة
لنفترض أن مبرمجًا يكتب برنامجًا يقرأ معرّف اللعبة وعدد اللاعبين ويطبع ما إذا كان لدى المستخدم العدد الصحيح من اللاعبين للعبة.
قد يبدأ المبرمج بما يلي:
if game == 1 and players < 2:
print("Not enough players")
if game == 1 and players > 4:
print("Too many players")
if game == 1 and (2 <= players <= 4):
print("Ready to start")
if game == 2 and players < 3:
print("Not enough players")
if game == 2 and players > 6:
print("Too many players")
if game == 2 and (3 <= players <= 6):
print("Ready to start")
يدرك المبرمج أن الشِفرة زائدة عن الحاجة. ماذا لو كان بإمكانه تحديد معرّف اللعبة أولاً ثم اتخاذ قرار بشأن اللاعبين؟ يسمح التداخل بوضع تعليمة قرار داخل تعليمة قرار أخرى، ويُشار إلى ذلك بمستوى المسافة البادئة.
برنامج محسّن:
if game == 1:
if players < 2:
print("Not enough players")
elif players > 4:
print("Too many players")
else:
print("Ready to start")
if game == 2:
if players < 3:
print("Not enough players")
elif players > 6:
print("Too many players")
else:
print("Ready to start")
# اختبار معرّفات الألعاب 3 وما بعدها
مفاهيم تطبيقية
استخدام تعليمات الشرط المتداخلة
جرّب بنفسك
طلبات الوجبات
اكتب برنامجًا يقرأ سلسلة نصية، إما "lunch" أو "dinner"، تمثل اختيار القائمة، وعددًا صحيحًا، إما 1، 2، أو 3، يمثل اختيار الوجبة للمستخدم. ثم يطبع البرنامج اختيار الوجبة للمستخدم.
خيارات وجبة الغداء
- 1: سلطة سيزر
- 2: لفائف دجاج حارة
- 3: حساء اليقطين
خيارات وجبة العشاء
- 1: سلمون مخبوز
- 2: برغر الديك الرومي
- 3: ريزوتو الفطر
مثال: إذا كان الإدخال:
lunch
3
فإن الإخراج هو:
Your order: Butternut squash soup