دورة تطوير بايثون
الفصل
>
المستوى

الشروط
تعليمات break و continue

الهدف

إزالة الأعشاب الضارة من الممر بين المباني باستخدام شروط الحلقات.

في الممر بين المباني تنمو الأعشاب الضارة، قم بجمع كل هذه الأعشاب وإلقائها باستخدام الحلقات. هناك طرق يمكنك من خلالها أتمتة هذه العملية باستخدام شروط الحلقات.

أنشئ متغيرًا باسم bag واستخدمه لتخزين الأعشاب أثناء جمعها. استخدم حلقة while مع الشروط لأتمتة العملية، فهناك عشرة (10) أعشاب في المجموع.

while True: player.move_forward() bag += 1 if bag == 10: break

من خلال تعيين حلقة while إلى True، لن تنتهي الحلقة إلا إذا تم استخدام العامل break لإنهاء الحلقة. كل دورة من الحلقة تضيف عشبة إلى الحقيبة وتتحقق من عدد الأعشاب التي تم جمعها لإنهاء الحلقة. تُستخدم عبارة if للتحقق مما إذا كان يجب على الحلقة أن break أم لا، حيث تتحقق من عدد الأعشاب في bag وتقوم بإنهائها إذا تم الوصول إلى العدد المطلوب.

بعد اجتياز الممر، استخدم حلقة for لإلقاء الأعشاب في الحاويات باستخدام دالة place() عند الأماكن المحددة بعلامة X. ومع ذلك، فإن عدد الخطوات بين كل حاوية غير متساوٍ بسبب وجود فجوة بينهما. باستخدام العامل continue، يمكنك تخطي دورة في الحلقة عن طريق اختبار شرط باستخدام عبارة if.

for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()

في الشيفرة أعلاه، تتحقق عبارة if مما إذا كانت قيمة x، التي تمثل عدد دورات الحلقة، تساوي 1. تعمل حلقة for هذه ثلاث (3) مرات كما هو معرف بواسطة range()، حيث تبدأ قيمة x من 0، فتكون القيم 0، 1، 2 قبل إكمال الحلقة. وبما أنك تتحقق من كون دورة الحلقة عند 1، فلن يتم تنفيذ الكود الموجود تحت continue وسيتم تخطيه إذا تحقق الشرط. وبهذا يمكننا تجنب الفجوة بين الحاويتين عن طريق تخطي الدورة الوسطى.

بما أن هناك صندوقين (2)، استخدم دالة place() لإلقاء الأعشاب المخزنة في متغير bag عن طريق تقسيم الإجمالي الموضوع، مثل: player.place(bag/2) .

بمجرد جمعك وإيداعك للأعشاب في المكان المناسب، اذهب إلى المخرج الذي تم تمييزه بنجمة لإكمال المستوى.

كتاب الكود