حلقة while تشبه إلى حد كبير جملة if، لكنها بدلاً من تنفيذ الكود مرة واحدة فقط، تستمر في تكرار تنفيذه طالما أن الشرط المُعطى نتيجته True.
بنيتها بسيطة:
while condition:
# الكود الذي سيتم تكراره
# ...
دعنا نأخذ مثالاً بسيطاً: طباعة الأعداد من 1 إلى 5.
# 1. نقوم بإنشاء متغير ليكون بمثابة "عداد"
counter = 1
# 2. نضع الشرط: استمر في التكرار طالما أن العداد أصغر من أو يساوي 5
while counter <= 5:
print(counter)
# 3. أهم خطوة: نزيد قيمة العداد بواحد في كل مرة
counter = counter + 1
print("انتهت الحلقة!")
شرح الكود:
-
counter = 1: بدأنا عداداً من الرقم 1.
-
while counter <= 5:: في كل دورة، تتحقق بايثون من هذا الشرط.
-
في البداية: هل 1 <= 5؟ نعم. إذن نفذ الكود بالداخل.
-
في الدورة التالية: هل 2 <= 5؟ نعم... وهكذا.
-
counter = counter + 1: هذه هي الخطوة الحاسمة. في نهاية كل دورة، نزيد قيمة العداد بواحد. لو نسينا هذا السطر، سيظل الشرط counter <= 5 صحيحاً إلى الأبد، وسيدخل برنامجنا في "حلقة لانهائية".
-
ملاحظة: يمكن كتابة counter = counter + 1 بشكل مختصر هكذا: counter += 1.
تحذير: فخ الحلقة اللانهائية!
إذا لم يتغير الشرط في حلقة while ليصبح False في مرحلة ما، فإن الحلقة ستستمر في العمل إلى الأبد، مما يتسبب في توقف البرنامج عن الاستجابة.
مثال على حلقة لانهائية (لا تقم بتشغيله إلا إذا كنت تعرف كيف توقفه!):
# هذا الكود سيستمر في طباعة الرقم 1 إلى الأبد
# لأننا نسينا أن نزيد قيمة العداد
counter = 1
while counter <= 5:
print(counter)
كيف توقف برنامجاً عالقاً في حلقة لانهائية؟ في معظم بيئات سطر الأوامر، يمكنك الضغط على Ctrl + C لإيقاف البرنامج بالقوة.
