بايثونالحلقة while
- تعريف الحلقة while
- مثال حول الحلقة while
- مثال حول إستخدام الجملة الشرطية else مع الحلقة while في بايثون
- طريقة إنشاء حلقة لا تتوقف (Infinite Loop)
تعريف الحلقة while
نستخدم الحلقة while للإستمرار في تنفيذ الكود طالما أن الموضوع فيها لا يزال يتحقق.
هنا كأننا نقول: "طالما أن الشرط يتحقق إستمر في تكرار الكود".
طريقة إستخدامها
فيما يلي الشكل العام لتعريف الحلقة while في بايثون.
statements
- condition - الشرط الذي يحدد ما إن كانت الحلقة يجب تتوقف عن تكرار الكود الموجود فيها أم لا. إذاً في كل دورة يتم التأكد أولاً إذا تحقق هذا الشرط أم لا. طالما أنه يتحقق، أي نتيجة الشرط تساوي True فهذا يعني أنه سيتم تكرار الكود.
- statements - هي جميع الأوامر الموضوعة في الحلقة و هي تتنفذ في كل دورة. بعد أن تتنفذ جميع الأوامر سيتم التأكد من الشرط الموضوع في الحلقة لمعرفة ما إن كان يجب إعادة تنفيذ هذه الأوامر أم لا.
مثال حول الحلقة while
في المثال التالي قمنا بتعريف متغير إسمه i و قيمته 1 لأننا سنستخدمه كعداد في الحلقة.
بعدها قمنا بإنشاء حلقة while تظل تنفذ الأوامر الموضوعة فيها طالما أن قيمة العداد i لا تزال أصغر أو تساوي 5.
في كل دورة من دورات هذه الحلقة سيتم طباعة قيمة العداد i ثم إضافة 1 على قيمته.
مثال
النتيجة
2
3
4
5
مثال حول إستخدام الجملة الشرطية else مع الحلقة while في بايثون
يمكن وضع الجملة الشرطية else مباشرةً بعد الحلقة while لتنفيذ بلوك من الكود ( مجموعة أوامر ) عندما يصبح جواب الشرط الذي يجعلها تستمر في إعادة تنفيذ الكود يساوي False.
مثال
النتيجة
2
3
4
5
This block is executed when the condition return False!
طريقة إنشاء حلقة لا تتوقف (Infinite Loop)
قبل تجربة الأمثلة التالية على الحاسوب عليك معرفة أن الحلقة الانهائية ( Infinite Loop ) قد تجعله يعلّق أو قد تسبب في إرتفاع حرارة المعالج إلى أن يحترق إذا لم يتم إيقاف الكود يدوياً و خلال وقت قصير.
الصورة التالية توضح طريقة إيقاف أي برنامج يدوياً بعد أن يتم تشغيله.
في المثال التالي قمنا بإنشاء حلقة تستمر بتنفيذ الكود الموضوع فيها بلا توقف.
المثال الأول
النتيجة
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
في المثال التالي قمنا بكتابة while True: بدلاً من كتابة while 1 == 1: و هذا الأمر أيضاً سيجعل الحلقة تستمر بتنفيذ الكود الموضوع بلا توقف.
المثال الثاني
النتيجة
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!