الحلقات التكرارية Loops في Python

الحلقات التكرارية في Python while and for loops كما نستعرض break, continue

الحلقات التكرارية في Python

ماهي الحلقات التكرارية Loops المتوفرة في Python …؟؟؟!! و كيف يتم بناء حلقة تكرار loop في بايثون .؟!!! كيف يتم التحكم بحلقة التكرار في بايثون..؟!!

الحلقات التكرارية  Loops في Python

تعتبر الحلقات التكرارية في بايثون أدوات قوية وفعالة لتنفيذ نفس الأوامر مرارًا وتكرارًا بشكل تلقائي، وهي أساسية في بناء البرامج والتعامل مع البيانات.استكمالاً لمقالات عن تعليمات لغة Python نتكلم في هذا المقال عن الحلقات التكرارية Loops حيث توفر لغة Python نوعين من الحلقات التكرارية وهي while ..loop و for…loop لنبدأ…

في هذا المقال نتعرف على:


الحلقات التكرارية في البرمجة

في البرمجة يتم قراءة التعليمات البرمجية بتسلسل واحدة تلو الاخرى ، ولكن عندما نحتاج الى تكرار تعليمات معينة عدد من المرات هنا نحتاج لاستخدام الحلقات التكرارية حيث تساعدنا الحلقات التكرارية في بناء جملة من التعليمات التي تكرر بناء على شروط معينة. ويوضح الشكل التالي طريقة العمل مع تعليمات الحلقات التكرارية Loops :

Python_loop

وتوفر لغة برمجة Python الأنواع التالية من الحلقات التكرارية للتعامل مع متطلبات التكرار.


الحلقات التكرارية في Python

1- While…loop

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

while expression:
   statement(s)

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

...........
x = 0
while (x < 5):
   print (x)
   x += 1
...........

لتكـن النتيجـة

0
1
2
3
4

ونذكر ان في Python ، تُعتبر جميع العبارات التي تم وضع مسافة بادئة لها بنفس عدد مسافات الأحرف بعد بنية البرمجة جزءًا من كتلة واحدة من التعليمات البرمجية. تستخدم Python المسافة البادئة كطريقة لتجميع العبارات.


كما يجب توخي الحذر عند استخدام while loops نظرًا لاحتمال ألا يتم حل هذا الشرط أبدًا إلى قيمة False . ينتج عن هذا حلقة لا تنتهي أبدًا. تسمى هذه الحلقة الحلقة اللانهائية. قد تكون الحلقة اللانهائية مفيدة في برمجة العميل / الخادم client /server حيث يحتاج الخادم إلى العمل بشكل مستمر حتى تتمكن برامج العميل من الاتصال به عند الحاجة.لنأخذ مثال على حلقة لانهائية :


...........
x = 6
while (x > 5):
   print (x)
   x += 1
...........

استخدام عبارة else مع while Loop

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

...........
while (x < 5):
	print (x)
	x += 1
else:
	print('x is not less than 5')
...........

لتكـن النتيجـة

0
1
2
3
4
x is not less than 5

2- for…loop

النوع الثاني من الحلقات التكرارية في بايثون هي حلقة for تعتبر تعليمة في python أقل شبهاً في تعليمات for الموجودة في لغات مجوعة C حيث يعد الاستخدام الأبرز لها في Python مع مجموعات البيانات ( collections ) مثل list, tuple, dictionary, set, or a string حيث تستخدم كطريقة للمرور على العناصر بشكل متسلسل و لا تتطلب الحلقة for متغير يتم تعيينه مسبقًا للفهرسة .. أي باستخدام حلقة for ، يمكننا تنفيذ مجموعة من العبارات ، مرة واحدة لكل عنصر في القائمة ، أو tuple ، أو set ، إلخ. - وتكون الصيغة العامة لحلقة for في لغة برمجة Python هي:

for iterating_var in sequence:
   statements(s)

وفيما يلي مثال على الحلقة التكرارية for في بايثون :

...........
# use a for loop over a collection
days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
for d in days:
	print (d)
...........

لتكـن النتيجـة

Mon
Tue
Wed
Thu
Fri
Sat
Sun

وللطباعة رقم الـ index تستخدم الدالة enumerate() لاحظ /ي المثال التالي:

...........
#using the enumerate() function to get index 
  days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
  for i, d in enumerate(days):
    print (i, d)
...........

لتكـن النتيجـة

0 Mon
1 Tue
2 Wed
3 Thu
4 Fri
5 Sat
6 Sun

ويمكن كذلك استخدام استخدام الدالة range() مع حلقة for لتحديد نطاق معين حيث تأخذ الدالة range() اما Parameter واحد أو 2 هذه الـ Parameters تمثل حدود النطاق للحلقة for لنرى مثال يوضح طريقة عمل الدالة range()

...........
for i in range(3):
    print(i)
print('-----------')
for x in range(5,10):
	print(x)
...........

لتكـن النتيجـة

0
1
2
-----------
5
6
7
8
9

استخدام عبارة else مع For Loop

وتدعم Python أن يكون هناك تعليمة else مرتبطة بتعليمة حلقة التكرار for وإذا تم استخدام جملة else مع حلقة for ، فسيتم تنفيذ عبارة else عندما تستنفد الحلقة تكرار القائمة. لاحظ /ي المثال التالي :


...........
for x in range(5,10):
	print(x)
else:
	print('x is not in the range from 5 to 10')
...........

لتكـن النتيجـة

5
6
7
8
9
x is not in the range from 5 to 1

Nested Loop

تسمح لغة برمجة Python باستخدام حلقات التكرار المتداخلة ونعني الحلقات المتداخلة حلقة تكرار بداخل حلقة تكرار أخرى ويمكن أن تكون الحلقات من نوع while او for ويمكن ان ان تكون احدى الحلقات المتداخلة من نوع والأخرى من نوع آخر .(يمكن الاطلاع على مقال عن الحلقات التكرارية المتدخلة ) وهنا أمثلة لتوضيح مفهوم الحلقات التكرارية المتداخلة.

...........
# nested  while loop
x = 0
while x < 5:
    y = 0
    print('****')
    while y <= x :
      y += 1
      print(y)
    x += 1
...........

...........
#Nested for loop
for i in range(5):
    print('****')
    for x in range(3):
      print(x)
...........

...........
#Nested for and while loops 
for i in range(5):
	x = 0
    while x < i:
      print(x)
      x += 1
    print('****')
...........


التحكم في الحلقة التكرارية Loop

في الحلقات التكرارية يمكن التحكم في التنفيذ المتسلسل الطبيعي للتعليمات حلقة التكرار من خلال عبارات التحكم . وتدعم Python عبارات التحكم break, continue وهنا توضيح لكيفية اختلاف تأثير كل منهما على الحلقة التكرارية:


break

وتعمل break مع الحلقات التكرارية وتقوم بإنهاء حلقة التكرار الحالية ويستأنف التنفيذ في التعليمة التالية للحلقة التكرار ، تمامًا مثل تعليمة break التقليدية في C#هنا مقال عن طريقة العمل مع حلقات التكرار في لغة C#).

ويعد الاستخدام الأكثر شيوعًا للـ break هو عندما يتم تشغيل بعض الشروط الخارجية التي تتطلب خروجًا سريعًا من حلقة. كما يمكن استخدام تعليمة break في حلقات while و for على حد سواء. وعندما نكون نستخدم حلقات التكرار المتداخلة ، فإن تعليمة break توقف تنفيذ الحلقة الداخلية وتبدأ في تنفيذ السطر التالي من التعليمات البرمجية بعد block الخاص بالحلقة . وتكون طريقة بناء الحلقة مع break كالتالي :
...........
#Use the break statements
for x in range(5,10):
	if (x == 7): break
    print (x)
...........

لتكـن النتيجـة

5
6

continue

تعمل Continue مع الحلقات التكرارية وتقوم تعليمة continue بـ التوقف عن متابعة التنفيذ للعبارة  محددة  في حلقة التكرار الحالي وتنقل عنصر التحكم مرة أخرى إلى العبارة التالية من حلقة التكرار .ويمكن استخدام تعليمة continue في كل من الحلقات while و for . وتكون طريقة بناء الحلقة مع continue كالتالي:

...........
#Use the continue statements
for x in range(5,10):
	if (x == 7): continue
    print (x)
...........

لتكـن النتيجـة

5
6
8
9

جميع الأمثلة لهذا المقال متوفرة هنا.


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

إلى هنا ينتهي هذا المقال الذي شرح الحلقات التكرارية في Python من while و for مع أمثلة عليها، كما شرح المقال الحلقات التكرارية المتداخلة في Python وطريقة بنائها من خلال تعليمات Python . بالإضافة إلى شرح طريقة التحكم فى الحلقات التكرارية عن طريق العبارات continue و break.



إرسال تعليق

فضلاً اترك تعليق
موافقة ملفات تعريف الارتباط
لتحسين تجربتك… يستخدم موقعنا ملفات تعريف الارتباط (Cookies)
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.