محتويات
انواع حلقات التكرار في لغة البايثون
انواع حلقات التكرار في لغة البايثون هي ثلاث حلقات رئيسية لكل منها استخداماتها، تساعد الحلقات في اختصار عمليات البرمجة إثر الفهم العميق لكل نوع منها وطريقة كتابة التعليمات البرمجية عبرها بالشكل الصحيح، مما يخلق برمجة أكثر كفاءة ودقّةً للمشاريع وبكل بساطة، أما عن الأنواع فهي:
- حتى الحلقة – For Loop.
- حلقة أثناء الحلقة – While Loop.
- حلقة متداخلة – Nested Loop.
حتى الحلقة – For Loop: وتعرف أيضاً بالحلقة for التي تستخدم للتكرار خلال البرمجة ضمن لغة Python إذا كانت البرمجة لأمور متسلسلة وتتوالى تلقائياً لعدد مرات محدد كما في (القوائم – الصفوف – سلاسل التتابع – القواميس – المجموعات)، بحيث يكون في الحلقة عنصرين أحدهما أساسي وثابت والآخر متغير قابل للتكرار في الجمل التالية بحيث تتكرر الحلقة بعدد مرات معين وتقوم بطباعة الأمر بشكل تسلسلي.
حلقة أثناء الحلقة – While Loop: وهو نموذج البرمجة القابل للاستخدام بشكل شرطي، بحيث يسمح بتكرار تنفيذ العملية أو العبارة عبر حلقة while إذا ما انعقد شرطها بشكل صحيح وإلى ما لا نهاية، ولإعداد هذه الحلقة يجب تعيين قيمة المتغير الأساسي x ولنقل مثلاً x = 1 إلى أن تصبح قيمة x = 3 أو أقل، فتستمر الحلقة بالعمل حتى تحقيق النتيجة القصوى.
حلقة متداخلة – Nested Loop: معرفة ماذا تعني الحلقة المتداخلة ؟ أمر هام كي لا يتم الخلط بينها وبين سواها من أنواع الحلقات الأساسية الأخرى في لغة البايثون؛ كونها النوع التي يمتزج فيه تكرارات لحلقة معينة من الحلقات الأساسية السابقة داخل هيكل حلقة أخرى لذا يطلق عليها حلقة متداخلة، فيبدأ البرنامج أولاً بمعالجة الحلقة الخارجية قبل مباشرة التكرار للحلقة الثانوية خلال سير التنفيذ مما يسمح بتشغيل الحلقة الداخلية المتداخلة، إلى أن تكتمل بشكل نهائي ثم العودة لمتابعة الحلقة الأساسية التي يعود البرنامج إلى أعلاها فور الانتهاء منها ليبدأ التكرار الثاني وهكذا دواليك حتى يتم التسلسل بعدد المرات المحدد في البرمجة. [1]
ما هي حلقات بايثون
حلقات بايثون عبارة عن تعليمات برمجية قابلة للتكرر تلقائياً إما بعدد مرات ثابت أو طالما يتوفر شرط تكرارها خلال معالجة لغة البرمجة بالطريقة التي يفهمها الحاسب.
تعتبر حلقات البايثون من أساسيات هذه اللغة البرمجية التي تتميز بالبساطة، فالبايثون اليوم باتت تعد من أكثر اللغات البرمجية انتشاراً وتنوعاً في الأدوات، وقد أوجدت الحلقات لاختصار الوقت والجهد ما أمكن عبر اختزال عمليات البرمجة وآلية تنفيذها بنسبة أقل من الخطأ، ويمكن استخدام هذه اللغة والاستفادة من حلقاتها في عدد هائل من المجالات نذكر منها (ميدان الصناعة – تطوير متصفحات الويب – تعليم الآلة – علوم إعداد البيانات الضخمة.
ولا بد من التنويه أن كل حلقة في لغة بايثون لا بد أن يكون لها المسافة البادئة ذات الأهمية الكبيرة، فهي ضرورية لتحديد كتلة التعليمات البرمجية التي ستتابع خلال ترجمة اللغة وحلقاتها المتكررة؛ وبدون وجود مسافة بادئة سينبهك برنامج العمل لوجود خطأ لا بد من تصحيحه.
مميزات الحلقات في لغة البرمجة python
- الكفاءة العالية في تنفيذ التعليمات البرمجية.
- اختصار الزمن وتأمين جودة القراءة.
- إمكانية التكرار وتعدد الاستعمالات.
تعتبر الحلقات اللبنة الأولى ضمن أي لغة من لغات البرمجة والتي لها عشرات المزايا التي تنعكس بالفوائد والإيجابية على من يستخدمها من المبرمجين، لكن نحدد بما يلي أهمها وأبرزها على الإطلاق، وهي:
الكفاءة العالية في تنفيذ التعليمات البرمجية: الأداء المثالي هو أهم ما يبحث عنه المبرمج لذا يستخدم حلقات البرمجة للاستفادة مما يلي:
- تقليل عدد التعليمات البرمجية عبر تنفيذ مهمة ما بشكل متكرر إذا استُخدِمت الكتلة ذاتها من التعليمات البرمجية عدة مرات خلال العملية الواحدة.
- التوفير في استهلاك الذاكرة أو الموارد مع إمكانية التعديل في أرقام البيانات أو تسلسل المهام ضمن الحلقات بدلاً من تكرار تعليماتها البرمجية اليدوي المتعب.
- الاستخدام المثالي لبنيات الحلقات؛ فقد بات بإمكان المبرمج تحسين التعليمات البرمجية بشكل مستمر مما ينعكس على إيجابية الأداء العام وسرعة الاستجابة أثناء التنفيذ.
- تكرار الحلقة أو إضافتها بكل عنصر من المصفوفة بشكل مختصر وعملي.
اختصار الزمن وتأمين جودة القراءة: للحلقات دور إيجابي بخلق تعليمات برمجية شديدة الوضوح وممكنة للقراءة، مما يبسط إجراءات العمل بالنسبة للمبرمج متى ما فهم أساسيات البرمجة وكيفية صيانتها، مما يختصر الوقت ويستفاد منه بالتالي:
- لا حاجة لتكرار الكود ما يجعل قاعدة التعليمات البرمجية بأقصر حالاتها ويبسط بالتالي عملية إدارتها.
- سهولة استكشاف الأخطاء البرمجية وحلها، من خلال التحديد السريع لموضع الخطأ ضمن بنية الكتلة التعليمية بالحلقة.
- تعزيز جودة التعليمات البرمجية من الناحية التنظيمية وقابليتها للإصلاح، مما يسمح بالتعاون بين المبرمجين على تطوير العمل.
إمكانية التكرار وتعدد الاستعمالات: الحلقات من أهم أدوات المبرمج التي تمكنه من التعامل مع كافة الأنواع أو الهياكل البنيوية للجمل أو الكتل البرمجية مع إمكانية التعديل على سيناريوهات البرمجة فيها، مما يستفيد منه المبرمج كما يلي:
- مرونة التعامل مع الحلقات الأخرى.
- قابلية التكيف مع بيانات الحلقات المتداخلة في الحلقة الأساسية.
- قابلية الجمع ما بين عدة أنواع من الحلقات خلال الكتلة البرمجية الواحدة، وإمكانية الحل لمشاكل البرمجة بشكل تلقائي أحياناً. [2]
أخطاء الحلقة الشائعة في بايثون وكيفية إصلاحها
- عدم تهيئة المتغيرات بشكل صحيح.
- حلقة لا نهائية غير مقصودة.
- مسافة البادئة خاطئة.
- قائمة التحقق من أخطاء الحلقات.
قد يكون ظهور رسالة الخطأ بصيغة ” تم رفض تشغيل الكود” بعد إنجاز كتلة البرمجة أمراً محبطاً؛ إلا أن ما يبعث على السرور والبهجة هو إصلاح الخطأ كخطوة متقدمة في عالم البرمجة، ومن أشهر الأخطاء التي تواجهنا خلال إعداد الحلقات بلغة البايثون ما يلي:
عدم تهيئة المتغيرات بشكل صحيح: بحلقة while لا بد من تعيين قيمة المتغير الأولية “تهيئة المتغير” وهي الخطوة الأساسية في هذا النوع من الحلقات وإذا ما حذف المتغير ستتوقف الحلقة عن العمل وتظهر رسالة الخطأ، وللإصلاح لا بد من تعيين المتغير الأولي.
حلقة لا نهائية غير مقصودة: أي أن الحلقة تتكرر دون أي زيادة في المضاعف، للإصلاح نقوم بتضمين سطر المضاعف المطلوب مثلاً “المضاعف += 1” وكأننا نُعلم جهاز الكمبيوتر بالمضاعف الجديد لهذا التكرار الحالي، حيث يكون “الجديد” = “القديم” + 1″، على أن تستمر الزيادة بالقيمة 1 حتى الحد المذكور في نهاية الكتلة الأساسية.
مسافة البادئة خاطئة: تعتبر المسافة البادئة أداة تساعد بجعل التعليمات البرمجية أنيقة وممكنة للقراءة بلا أي أثر على دلالات المبرمج في لغات البرمجة عادةً، لكن في بايثون المسافة البادئة هي أداة التحكم بالأسطر اللاحقة من كتل التعليمات البرمجية التي تنتمي لها، وبالتالي عدم وضع مسافة بادئة مثل “النتيجة = الرقم * المضاعف” ضمن بداية الكتلة خطأ فادح “IndentationError”.
يمكن إصلاح هذا الخطأ عبر إضافة علامة تبويب جديدة أو إتاحة مسافات صغيرة نحو اليمين قبل النتيجة؛ على أن يكون بنفس قيمة المساحة قبل النتيجة، بالإضافة لتعيين (بيانات الطباعة – قيمة الزيادة)، كونها تنبثق عن كتلة التعليمات البرمجية ذاتها وإلا ستكون حلقة لا نهائية.
قائمة التحقق من أخطاء الحلقات: لتلافي أخطاء الحلقات أثناء إعدادها وتجنب إصلاحها في وقت لاحق يجب تتبع القائمة التالية من التحققات قبل إنهاء العمل، وهي:
- تهيئة المتغير بشكل دقيق وإعطاؤه قيمة أولية.
- التأكد من استعمال المسافة البادئة الدقيقة.
- تحديد الزيادة المطلوبة خلال تكرار الحلقة.
- تعيين معيار توقف الحلقة إذا لم تكن حلقة لا متناهية.
- تعيين النقطتين ضمن حلقات الـ while.
- استعمال العامل المنطقي وبشكله الصحيح. [4]

