بالإضافة إلى حلقة for
، لدينا نوع ثانٍ من الحلقات ، وهو حلقة while
.
على عكس for
، حيث نعرف عدد التكرارات مسبقًا ، يتم استخدام while
عندما يعتمد ذلك على بعض الشروط. يتم تكرار جسم (ما بداخل) الحلقة حتى يتم استيفاء الشرط.
response = input('Say aaa!')
while response != 'aaa':
print('Incorrect, try again')
response = input('Say aaa!')
ولكن انتبه! من السهل جدًا كتابة حلقة بشرط صحيح دائمًا. سيؤدي هذا النوع من الحلقات إلى التكرار إلى الأبد.
from random import randrange
while True:
print('The number is', randrange(10000))
print('(Wait for the computer to get tired…)')
ولكن انتبه! من السهل جدًا كتابة حلقة بشرط صحيح دائمًا. سيؤدي هذا النوع من الحلقات إلى التكرار إلى الأبد.يمكن مقاطعة البرنامج باستخدام Ctrl+C.
سيؤدي هذا الاختصار إلى إثارة خطأ وسينتهي البرنامج - مثل بعد كل خطأ.
أخيرًا ، لدينا الأمر break
، والذي سيُرسل إشارة إلى العملية "للخروج" من الحلقة ،
وسيتم تنفيذ الأوامر بعد الحلقة على الفور.
while True:
response = input('Say aaa!')
if response == 'aaa':
print('Good')
break
print('Incorrect, try again')
print('Yay and it did not even hurt')
الأمر break
يمكن استخدامه فقط داخل حلقة (while
أو for
) ،
وإذا كان لدينا حلقات متداخلة ، فسوف يخرج فقط من الحلقة التي تم استخدامها فيها.
for i in range(10): # Outer loop
for j in range(10): # Inner loop
print(j * i, end=' ')
if i <= j:
break
print()
سيؤدي الأمر
break` إلى الخروج من الحلقة الداخلية والعودة إلى الحلقة الخارجية عندما يكون i أصغر من أو يساوي j.
لنعد للحديث عن while
مجددا!
هل يمكنك كتابة البرنامج التالي؟