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