البرمجة

كيفية استخدام حلقة while في بايثون

كيفية إنشاء حلقات تكرار while في بايثون 3

في لغة البرمجة بايثون 3، تعد الحلقات التكرارية من الأدوات الأساسية التي يستخدمها المبرمجون لتنفيذ مجموعة من التعليمات بشكل متكرر، اعتمادًا على شرط معين. إحدى أنواع الحلقات الأكثر شيوعًا في بايثون هي حلقة while. تُستخدم هذه الحلقة لتنفيذ الكود بشكل مستمر طالما أن الشرط المحدد لها يكون صحيحًا. سنقوم في هذا المقال بشرح كيفية استخدام حلقات while في بايثون 3، مع توضيح بعض الأمثلة المتقدمة وشرح التفاصيل الدقيقة لفهم هذه البنية البرمجية بشكل شامل.

ما هي حلقة while؟

حلقة while هي نوع من الحلقات التي تعتمد على شرط معين يجب أن يكون صحيحًا للاستمرار في تنفيذ التعليمات داخل الحلقة. بعبارة أخرى، يتم فحص الشرط في بداية كل تكرار للحلقة، وإذا كان الشرط صحيحًا، يستمر تنفيذ الكود داخل الحلقة. إذا كان الشرط غير صحيح في أي مرة من المرات، تتوقف الحلقة.

البنية العامة لحلقة while هي كالتالي:

python
while الشرط: # تنفيذ الكود

في هذه البنية:

  • الشرط هو تعبير منطقي يجب أن يُقيّم كـ True (صحيح) لكي تستمر الحلقة في التنفيذ.

  • الكود داخل الحلقة يُنفَّذ طالما أن الشرط صحيح.

المثال الأساسي على حلقة while

لنبدأ بأبسط مثال يمكن أن نستخدمه لفهم آلية عمل حلقة while:

python
# مثال بسيط لحلقة while عدد = 0 while عدد < 5: print(عدد) عدد += 1

في هذا المثال:

  • يبدأ عدد بقيمة 0.

  • طالما أن عدد أقل من 5، سيتم تنفيذ الكود داخل الحلقة.

  • في كل مرة يتم فيها تنفيذ الحلقة، يتم زيادة قيمة عدد بمقدار 1.

  • عندما يصبح عدد أكبر من أو يساوي 5، يتوقف تنفيذ الحلقة.

الناتج سيكون:

0 1 2 3 4

آلية عمل حلقة while

عندما يبدأ تنفيذ البرنامج، يتم فحص الشرط المحدد في بداية الحلقة. إذا كان الشرط صحيحًا، يتم تنفيذ الكود داخل الحلقة، ثم يتم فحص الشرط مرة أخرى بعد الانتهاء من تنفيذ الكود. هذه العملية تتكرر باستمرار حتى يصبح الشرط غير صحيح.

أهمية التكرار داخل حلقة while

إذا لم يتم تحديث أو تغيير حالة الشرط داخل الحلقة، فإن الحلقة ستستمر في التكرار إلى ما لا نهاية، مما يعرف بـ الحلقة اللانهائية. لذلك، من الضروري أن يتم تعديل الشرط بطريقة ما في داخل الحلقة لإيقاف التكرار.

على سبيل المثال، إذا كان الشرط يعتمد على قيمة متغير معين، يجب التأكد من أن هذا المتغير يتغير بمرور الوقت، وبالتالي يغير حالة الشرط ليصبح غير صحيح في النهاية، مما يوقف الحلقة.

الحلقة اللانهائية

لنأخذ مثالًا على الحلقة اللانهائية:

python
# حلقة لا نهائية while True: print("هذه حلقة لانهائية")

هنا، True هو شرط دائمًا صحيح، وبالتالي ستستمر الحلقة في التنفيذ إلى ما لا نهاية، وستطبع الرسالة بشكل مستمر. عادةً ما يتم إنهاء هذه الحلقات باستخدام أمر خارجي مثل break أو من خلال إيقاف البرنامج يدويًا.

استخدام break و continue داخل حلقة while

من الأدوات المفيدة التي يمكن استخدامها داخل حلقة while هي أوامر break و continue.

أمر break

يستخدم break للخروج من الحلقة بشكل فوري، بغض النظر عن الشرط. هذا مفيد إذا كنت تريد إنهاء الحلقة بناءً على شرط معين.

python
عدد = 0 while True: if عدد == 5: break # إنهاء الحلقة عندما يكون عدد 5 print(عدد) عدد += 1

الناتج سيكون:

0 1 2 3 4

أمر continue

يُستخدم continue لتخطي التكرار الحالي والانتقال مباشرة إلى التكرار التالي من الحلقة. هذا مفيد عندما تريد تجنب تنفيذ جزء معين من الكود إذا تحقق شرط معين.

python
عدد = 0 while عدد < 5: عدد += 1 if عدد == 3: continue # تخطي طباعة الرقم 3 print(عدد)

الناتج سيكون:

1 2 4 5

كيفية التحكم في شروط متعددة داخل حلقة while

في بعض الأحيان، قد تحتاج إلى استخدام شروط معقدة لتحديد ما إذا كان يجب الاستمرار في التكرار أو لا. يمكنك استخدام تعبيرات منطقية مثل and و or لتحقيق هذا.

python
عدد = 0 while عدد < 10 and عدد % 2 == 0: print(عدد) عدد += 1

في هذا المثال:

  • الحلقة ستستمر طالما أن عدد أقل من 10 وأيضًا قابل للقسمة على 2.

  • بمجرد أن يصبح عدد غير قابل للقسمة على 2، ستتوقف الحلقة.

تطبيقات عملية لحلقة while

مثال 1: العد التنازلي

يمكن استخدام حلقة while لتنفيذ عد تنازلي، وهو أحد التطبيقات الشائعة في البرمجة.

python
عدد = 10 while عدد > 0: print(عدد) عدد -= 1

الناتج:

10 9 8 7 6 5 4 3 2 1

مثال 2: المحاولة حتى النجاح

تُستخدم حلقات while أيضًا في العمليات التي تتطلب محاولات متعددة حتى تحقق الهدف. على سبيل المثال، يمكن إنشاء برنامج يطلب من المستخدم إدخال كلمة سر صحيحة حتى ينجح.

python
كلمة_السر_الصحيحة = "1234" كلمة_السر = "" while كلمة_السر != كلمة_السر_الصحيحة: كلمة_السر = input("أدخل كلمة السر: ") if كلمة_السر != كلمة_السر_الصحيحة: print("كلمة السر غير صحيحة. حاول مرة أخرى.") print("تم الدخول بنجاح.")

في هذا المثال، سيستمر البرنامج في طلب إدخال كلمة السر من المستخدم حتى يقوم بإدخال الكلمة الصحيحة.

استخدام الحلقات مع القوائم أو المجموعات

في بعض الحالات، قد تحتاج إلى استخدام حلقات while مع القوائم أو المجموعات. يمكنك استخدام هذه الحلقات لتكرار الوصول إلى عناصر معينة داخل القائمة أو تنفيذ عمليات معينة على كل عنصر.

python
قائمة = [1, 2, 3, 4, 5] مؤشر = 0 while مؤشر < len(قائمة): print(قائمة[مؤشر]) مؤشر += 1

الخلاصة

حلقات while في بايثون هي أداة قوية تسمح للمبرمجين بتنفيذ الكود بشكل متكرر طالما أن شرطًا معينًا صحيح. تعد هذه الحلقات مرنة جدًا ويمكن استخدامها في العديد من التطبيقات المختلفة، بدءًا من العد التنازلي إلى المحاولات المتعددة لتحقيق هدف معين. من خلال فهم كيفية عمل حلقات while واستخدام الأوامر المساعدة مثل break و continue، يمكن للمبرمجين بناء برامج أكثر قوة وكفاءة.