حلقة while
في بايثون هي هيكل تحكم يُستخدم لتكرار تنفيذ كتلة من الأوامر طالما أن شرطًا معينًا صحيح. بمعنى آخر، تستمر الحلقة في العمل طالما أن التعبير المنطقي المُعطى يُقيّم إلى True
. بمجرد أن يُصبح التعبير False
، يتوقف تنفيذ الحلقة ويستمر البرنامج في تنفيذ الأوامر التالية لها.
الصيغة العامة لحلقة while
:
Python
while condition: # أوامر يتم تنفيذها طالما أن الشرط صحيح statement1 statement2 ...else: # اختياري # أوامر يتم تنفيذها عند انتهاء الحلقة بشكل طبيعي (أي عندما يصبح الشرط False) statement3 ...
condition
: هو التعبير المنطقي الذي يتم تقييمه في كل تكرار.statements
: هي كتلة الأوامر التي يتم تنفيذها طالما أنcondition
صحيح. يجب وضع مسافة بادئة (indentation) صحيحة للأوامر داخل الحلقة.else
: كتلة اختيارية تُنفذ مرة واحدة فقط بعد انتهاء الحلقة بشكل طبيعي (أي عندما يُصبح الشرطFalse
). لا تُنفذ إذا تم إنهاء الحلقة باستخدامbreak
.
كيف تعمل حلقة while
؟
- يتم تقييم
condition
. - إذا كان
condition
يُقيّم إلىTrue
، يتم تنفيذ كتلة الأوامر داخل الحلقة. - بعد تنفيذ كتلة الأوامر، يتم الرجوع إلى الخطوة 1 وتقييم
condition
مرة أخرى. - تستمر هذه العملية حتى يُصبح
condition
يُقيّم إلىFalse
. - عندما يُصبح
condition
يُقيّم إلىFalse
، يتوقف تنفيذ الحلقة، وإذا كانت هناك كتلةelse
، يتم تنفيذها.
أمثلة:
- مثال بسيط لطباعة الأرقام من 1 إلى 5:
Python
i = 1while i <= 5: print(i) i += 1 # مهم جدًا: يجب تحديث قيمة المتغير لتجنب الحلقات اللانهائية
سيُنتج هذا الكود:
12345
- مثال باستخدام
else
:
Python
i = 1while i < 5: print(i) i += 1else: print("انتهت الحلقة")
سيُنتج هذا الكود:
1234انتهت الحلقة
- مثال باستخدام
break
لإنهاء الحلقة مبكرًا:
Python
i = 1while i <= 10: if i == 5: break # يوقف تنفيذ الحلقة فورًا print(i) i += 1else: print("لن يتم تنفيذ هذه الكتلة") # لن يتم تنفيذها لأن الحلقة انتهت بـ break
سيُنتج هذا الكود:
1234
ملاحظات مهمة:
- الحلقات اللانهائية: إذا لم يتم تحديث قيمة المتغير المستخدم في
condition
بشكل صحيح داخل الحلقة، فقد تُصبح الحلقة لانهائية، أي تستمر في التنفيذ إلى الأبد. يجب الانتباه جيدًا لهذه النقطة. مثال على حلقة لانهائية:
Python
i = 1while i <= 5: print(i) # نسينا تحديث قيمة i، ستستمر الحلقة للأبد
- استخدام
break
وcontinue
:break
: يُستخدم لإنهاء الحلقة فورًا والخروج منها.continue
: يُستخدم لتخطي التكرار الحالي والانتقال إلى التكرار التالي.
متى نستخدم حلقات while
؟
تُستخدم حلقات while
عندما لا نعرف مسبقًا عدد مرات التكرار المطلوبة، ولكننا نعرف شرطًا يجب أن يتحقق للاستمرار في التكرار. على سبيل المثال:
- قراءة بيانات من ملف حتى الوصول إلى نهاية الملف.
- التحقق من صحة مدخلات المستخدم حتى يُدخل قيمة صحيحة.
- تنفيذ عملية حسابية حتى الوصول إلى دقة معينة.
فهم حلقات while
ضروري جدًا لكتابة برامج بايثون فعالة. تُمكنك من تكرار تنفيذ الأوامر بشكل مُتحكم فيه بناءً على شروط منطقية.