التكرار مع إدوارد
Learn about loops and their applications.
سنغطي ما يلي...
حتى الآن، كان صديقنا إدوارد يتحرك خطوةً بخطوة باستخدام دالة move()
. لكن في سفينته الفضائية الضخمة، عليه أن يمشي مسافات طويلة. غالبًا ما لا يعرف إدوارد عدد الخطوات التي عليه قطعها. النقطة الوحيدة التي يجب أن يتوقف عندها إدوارد هي إذا كان الطريق أمامه مسدودًا.
ستكون هناك مسارات متعددة بأطوال مختلفة، ولن نكون دائمًا حاضرين لنخبر إدوارد بعدد الخطوات التي عليه اتخاذها. هل يمكننا بطريقة ما أن نُعلّم إدوارد الاستمرار في الحركة حتى يجد أن الطريق أمامه مسدود؟
اتضح أن كلمة while
في بايثون تسمح لنا بتنفيذ إجراء باستمرار حتى يتحقق شرط. هل تذكر استخدام الشروط لتنفيذ الشيفرة من قبل؟ أثناء استكشافنا للشروط ( if
- else
)، رأينا كيف يعتمد التنفيذ على الشروط المنطقية. وبالمثل، تُمثل شروط حلقات التكرار بقيم منطقية أيضًا. لدى صديقنا إدوارد دالة تحقق تُعلمه ما إذا كان قد حقق هدفه أم لا (شرط منطقي). يمكن الوصول إلى هذه الدالة باستدعاء الدالة goal_not_achieved()
. ستعيد الدالة True
إذا احتجنا إلى الاستمرار في الحركة، والقيمة False
إذا انتهينا من المهمة.
المقطع أدناه هو نموذج لتطبيق while
في الكود. يمكن قراءته كما يلي: طالما أن الشرط المحدد صحيح، استمر في تنفيذ التعليمات في الحلقة.
while condition:instruction
مهمتنا هي تعليم إدوارد اتباع عبارة بسيطة: ما دام الهدف لم يتحقق، فعليه التحرك . في الكود التالي، ترجمنا هذه العبارة ...