مقدمة
في الدرس السابق تعرفنا على حلقة "for"، وعرفنا أنها تُستخدم عندما يكون عدد مرات التكرار معروفًا مسبقًا أو عندما نريد المرور على مجموعة من البيانات.
لكن ليس كل برنامج يعرف مسبقًا عدد مرات التكرار التي سيحتاج إليها.
أحيانًا يحتاج البرنامج إلى الاستمرار في تنفيذ الأوامر حتى يتحقق شرط معين، بغض النظر عن عدد مرات التكرار.
في هذه الحالة نستخدم حلقة "while".
تُعد حلقة "while" من أهم الحلقات في Python، وتستخدم كثيرًا في البرامج التي تعتمد على تفاعل المستخدم أو التي تستمر في العمل حتى يتحقق هدف معين.
---
ما هي حلقة "while"؟
حلقة "while" هي حلقة تكرارية تستمر في تنفيذ مجموعة من التعليمات طالما أن الشرط المحدد لها صحيح.
بمعنى آخر، يقوم البرنامج أولًا بفحص الشرط، فإذا كان صحيحًا يبدأ بتنفيذ الأوامر، ثم يعود ليفحص الشرط مرة أخرى.
وتستمر هذه العملية حتى يصبح الشرط غير صحيح، وعندها تتوقف الحلقة وينتقل البرنامج إلى بقية التعليمات.
---
لماذا نستخدم حلقة "while"؟
هناك الكثير من البرامج التي لا تستطيع معرفة عدد مرات التكرار مسبقًا.
فعلى سبيل المثال، قد ينتظر البرنامج من المستخدم إدخال قيمة صحيحة، أو قد يستمر في تنفيذ عملية معينة حتى تكتمل.
في مثل هذه الحالات لا تكون حلقة "for" مناسبة، لأن عدد مرات التكرار غير معروف، بينما تكون "while" هي الخيار الأفضل.
---
كيف تعمل حلقة "while"؟
تعتمد حلقة "while" على وجود شرط منطقي.
في بداية كل دورة، يفحص البرنامج هذا الشرط.
إذا كان صحيحًا، ينفذ الأوامر الموجودة داخل الحلقة.
بعد انتهاء التنفيذ، يعود مرة أخرى لفحص الشرط.
وعندما يصبح الشرط غير صحيح، تتوقف الحلقة مباشرة.
---
الفرق بين "while" و "for"
على الرغم من أن الحلقتين تستخدمان للتكرار، إلا أن لكل واحدة منهما استخدامًا مختلفًا.
تستخدم "for" عندما يكون عدد مرات التكرار معروفًا أو يمكن تحديده بسهولة.
أما "while" فتستخدم عندما يعتمد التكرار على شرط قد يتغير أثناء تشغيل البرنامج، ولا يمكن معرفة عدد مرات التنفيذ مسبقًا.
ولهذا يجب اختيار الحلقة المناسبة حسب طبيعة المشكلة التي تريد حلها.
---
أين تستخدم حلقة "while"؟
تستخدم حلقة "while" في العديد من البرامج، مثل:
- شاشات تسجيل الدخول.
- الألعاب.
- برامج المحادثة.
- التطبيقات التي تنتظر إدخال المستخدم.
- الأنظمة التي تراقب الأجهزة أو المستشعرات.
- البرامج التي تعمل باستمرار حتى يحدث أمر معين.
ولهذا تعتبر من الحلقات الأساسية التي يحتاجها كل مبرمج Python.
---
متى تكون "while" أفضل من "for"؟
تكون "while" أفضل عندما لا تستطيع تحديد عدد مرات التكرار مسبقًا.
فإذا كان البرنامج يعتمد على شرط قد يتحقق بعد مرة واحدة أو بعد مئة مرة، فإن "while" تمنحك المرونة اللازمة للتعامل مع هذه الحالة.
ولهذا تستخدم كثيرًا في البرامج التفاعلية.
---
الحلقات اللانهائية
من أكثر الأخطاء شيوعًا عند استخدام "while" هو إنشاء حلقة لا نهائية.
ويحدث ذلك عندما يبقى الشرط صحيحًا دائمًا، فلا يجد البرنامج سببًا للتوقف.
ولهذا يجب على المبرمج التأكد دائمًا من وجود طريقة تجعل الشرط يصبح غير صحيح في الوقت المناسب.
---
أهمية حلقة "while" في المشاريع الحقيقية
تدخل حلقة "while" في كثير من التطبيقات الواقعية، لأنها تسمح للبرنامج بالاستمرار في العمل حتى يتحقق الهدف المطلوب.
ولهذا ستجدها في برامج المراقبة، والخوادم، والألعاب، وتطبيقات الذكاء الاصطناعي، والأنظمة التي تعمل بشكل مستمر.
---
أخطاء شائعة عند المبتدئين
من الأخطاء التي يقع فيها المبتدئون:
- الاعتقاد أن "while" و"for" متطابقتان تمامًا.
- نسيان تحديث الشرط داخل الحلقة، مما يؤدي إلى حلقة لا نهائية.
- استخدام "while" في حالات يكون فيها استخدام "for" أبسط وأكثر وضوحًا.
- عدم فهم أن الحلقة تفحص الشرط قبل تنفيذ الأوامر.
لذلك من المهم فهم طريقة عملها قبل استخدامها في المشاريع الكبيرة.
---
ملخص الدرس
تعرفنا في هذا الدرس على حلقة "while" في Python، وعرفنا أنها تستخدم عندما يكون التكرار مرتبطًا بشرط معين وليس بعدد محدد من المرات. كما تعلمنا الفرق بينها وبين حلقة "for"، وتعرفنا على الحلقات اللانهائية وأسباب حدوثها، وأهمية "while" في بناء البرامج التفاعلية.
في الدرس الحادي عشر سنتعرف على أوامر التحكم في الحلقات، مثل إيقاف الحلقة أو تخطي جزء من التكرار، وسنفهم كيف تمنحنا تحكمًا أكبر أثناء تنفيذ البرامج.



