في عالم برمجة الحاسوب، تعتبر حلقات التكرار (Loops) أحد الأدوات الأساسية التي تتيح للمطورين تنفيذ تسلسل من الأوامر عدة مرات. في لغة البرمجة بايثون، يتيح وجود حلقات مرونة كبيرة لتنفيذ العديد من المهام بطريقة فعّالة ومنظمة. هنا سنلقي نظرة على نوعين رئيسيين من حلقات التكرار في بايثون: حلقات “for” وحلقات “while”.
تبدأ حلقة التكرار “for” بتحديد تسلسل من العناصر (مثل قائمة أو سلسلة) وتقوم بتكرار تنفيذ مجموعة من الأوامر لكل عنصر في التسلسل. على سبيل المثال:
pythonfor عنصر in تسلسل:
# قم بتنفيذ الأوامر هنا باستخدام العنصر
من جهة أخرى، حلقة التكرار “while” تستمر في تكرار تنفيذ مجموعة من الأوامر حتى تتحقق شرط معين. على سبيل المثال:
pythonwhile شرط:
# قم بتنفيذ الأوامر هنا حتى يتوفر الشرط
من الجدير بالذكر أنه يمكن استخدام كل من حلقات “for” و”while” لحل مجموعة واسعة من المشكلات وتنظيم الشفرة بشكل أفضل. بالإضافة إلى ذلك، يمكن تضمين حلقات في داخل بعضها البعض لتحقيق تكرار متداخل.
لفهم أفضل لكيفية استخدام حلقات التكرار في بايثون، دعونا نلقي نظرة على مثال يستخدم حلقة “for” لطباعة الأعداد الفردية من 1 إلى 10:
pythonfor i in range(1, 11, 2):
print(i)
هذا الكود يستخدم دالة range
لإنشاء تسلسل من الأعداد الفردية من 1 إلى 10، ثم يقوم بطباعة كل عدد في كل تكرار.
بهذا، تظهر مرونة حلقات التكرار في بايثون وقوتها في تسهيل تنظيم الشفرة وتنفيذ المهام المتكررة بكفاءة.
المزيد من المعلومات
إن استخدام حلقات التكرار في لغة البرمجة بايثون يعزز قدرة المطور على التحكم في تنفيذ الشفرة بشكل دقيق وفعال. دعونا نواصل استكشاف بعض المفاهيم الإضافية والمعلومات المتقدمة حول حلقات التكرار في بايثون:
استخدام حلقات for
:
-
التكرار على القيم:
يمكن استخدام حلقةfor
لتكرار على القيم الموجودة في قواميس (dictionaries) باستخدام الدالةitems()
.pythonstudent_grades = {"John": 90, "Alice": 85, "Bob": 88} for student, grade in student_grades.items(): print(f"{student}'s grade is {grade}")
-
تضمين حلقات:
يمكن تضمين حلقةfor
داخل حلقة أخرى، مما يسمح بتنظيم هيكل التكرار بشكل أفضل.pythonfor i in range(3): for j in range(2): print(f"({i}, {j})")
استخدام حلقات while
:
-
استخدام شرط متقدم:
يمكن تكوين حلقةwhile
بناءً على شرط متقدم، مما يتيح للمبرمج تنظيم تنفيذ الشفرة بشكل دقيق.pythonnumber = 1 while number < 10: print(number) number *= 2
-
استخدام
break
وcontinue
:
يمكن استخدامbreak
للخروج من حلقةwhile
بناءً على شرط، واستخدامcontinue
لتجاوز الجزء الحالي من الحلقة والانتقال إلى التكرار التالي.pythoni = 0 while i < 5: i += 1 if i == 3: continue print(i) if i == 4: break
مقارنة بين حلقات for
و while
:
for
تُستخدم عندما يكون عدد التكرارات معروفًا مسبقًا.while
تُستخدم عندما يكون الشرط معقدًا أو عندما تكون التكرارات غير معروفة مسبقًا.
تحسين أداء الحلقات:
-
استخدام List Comprehensions:
يمكن استخدام تقنية List Comprehensions لتوليد قوائم بشكل أكثر فعالية.pythonsquares = [x**2 for x in range(5)]
-
استخدام
enumerate
:
يمكن استخدامenumerate
للحصول على قيمة وفهرس في نفس الوقت.pythonnames = ["Alice", "Bob", "Charlie"] for index, name in enumerate(names): print(f"Person {index+1}: {name}")
حينما يتعلق الأمر بحلقات التكرار في بايثون، يتاح للمبرمجين استفادة كاملة من ميزات اللغة لتحقيق أقصى استفادة من قوة التكرار في تحقيق الأهداف البرمجية بشكل فعّال وأنيق.