الحلقة التكرارية في Python هي وظيفة تكرار. إذا كان لديك كائن تسلسلي مثل list، يمكنك استخدام الحلقة التكرارية لتكرار العناصر الموجودة داخل القائمة.
وظيفة الحلقة التكرارية ليست مختلفة جدًا عما تراه في لغات البرمجة الأخرى.
في هذا المقال، سنستكشف الحلقة التكرارية في Python بالتفصيل ونتعلم كيفية التكرار على تسلسلات مختلفة بما في ذلك القوائم والأزواج وأكثر من ذلك. بالإضافة إلى ذلك، سنتعلم كيفية التحكم في تدفق الحلقة باستخدام عبارات الاستراحة والاستمرار.
الصيغة الأساسية لحلقة الـ for في Python
الصيغة الأساسية لحلقة الـ for في Python تبدو مشابهة إلى حد ما لما هو مذكور أدناه.
for itarator_variable in sequence_name:
Statements
. . .
Statements
دعني أوضح صيغة حلقة الـ for في Python بشكل أفضل.
- الكلمة الأولى في البيان تبدأ بالكلمة المفتاح “for” التي تدل على بداية حلقة الـ for.
- ثم لدينا المتغير المكرر الذي يكرر على التسلسل ويمكن استخدامه داخل الحلقة لأداء وظائف مختلفة
- التالي هو الكلمة المفتاحية “in” في Python التي تخبر المتغير المكرر بالتكرار لعناصر داخل التسلسل
- وأخيرًا، لدينا متغير التسلسل الذي يمكن أن يكون إما قائمة أو tuple أو أي نوع آخر من المكررات.
- جزء البيانات من الحلقة هو المكان الذي يمكنك فيه اللعب بمتغير المكرر وتنفيذ وظائف متنوعة
1. طباعة الحروف الفردية لسلسلة باستخدام الحلقة for
سلسلة Python هي تسلسل من الأحرف. إذا كنت بحاجة في أي من تطبيقات البرمجة الخاصة بك إلى الانتقال عبر الأحرف في سلسلة بشكل فردي، يمكنك استخدام الحلقة for هنا.
إليك كيف يمكن أن يعمل ذلك بالنسبة لك.
word="anaconda"
for letter in word:
print (letter)
الإخراج:
a
n
a
c
o
n
d
a
السبب في أن هذه الحلقة تعمل هو لأن Python يعتبر “سلسلة” كتسلسل من الأحرف بدلاً من النظر إلى السلسلة ككل.
2. استخدام الحلقة for للتكرار عبر قائمة Python أو tuple
القوائم والتوابع هي كائنات يمكن التكرار عليها. دعونا نلقي نظرة على كيفية الحلق عبر العناصر داخل هذه الكائنات الآن.
words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
print (word)
الناتج:
Apple
Banana
Car
Dolphin
الآن، دعونا نتقدم ونعمل على حلقة عبر عناصر tuple هنا.
nums = (1, 2, 3, 4)
sum_nums = 0
for num in nums:
sum_nums = sum_nums + num
print(f'Sum of numbers is {sum_nums}')
# الناتج
# مجموع الأرقام هو 10
3. تضمين حلقات Python for
عندما يكون لدينا حلقة for داخل حلقة for أخرى، يُطلق عليها حلقة متداخلة. هناك تطبيقات متعددة لحلقة for متداخلة.
لنأخذ مثال القائمة أعلاه. تقوم حلقة الـfor بطباعة الكلمات الفردية من القائمة. ولكن ماذا لو أردنا طباعة الأحرف الفردية لكلمات القائمة بدلاً من ذلك؟
هنا يكون حلقة for متداخلة أفضل. ستتنقل الحلقة الأولى (الحلقة الأم) عبر الكلمات واحدة تلو الأخرى. الحلقة الثانية (الحلقة الابنة) ستتنقل عبر الأحرف في كلمات كلمة من الكلمات.
words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
# هذه الحلقة تقوم بجلب الكلمة من القائمة
print ("The following lines will print each letters of "+word)
for letter in word:
# هذه الحلقة تقوم بجلب الحرف للكلمة
print (letter)
print("") # هذا الطباعة يُستخدم لطباعة سطر فارغ
الإخراج
4. الحلقة في بايثون مع وظيفة range()
تعتبر وظيفة range() في البايثون واحدة من الالوظائف المدمجة. عندما ترغب في أن تقوم الحلقة for بالتشغيل لعدد محدد من المرات، أو عندما تحتاج إلى تحديد مجموعة من الكائنات لطباعتها، فإن وظيفة range تعمل بشكل جيد حقًا. تأمل المثال التالي حيث أريد طباعة الأرقام 1 و 2 و 3.
for x in range(3):
print("Printing:", x)
# الإخراج
# الطباعة: 0
# الطباعة: 1
# الطباعة: 2
تقوم وظيفة range أيضًا بأخذ معامل آخر بجانب البداية والتوقف. وهذا هو معامل الخطوة. يخبر وظيفة range كم عدد يجب تخطيه بين كل عدد.
في المثال أدناه، لقد استخدمت الرقم 3 كالخطوة ويمكنك أن ترى الأرقام المخرجة هي العدد السابق + 3.
for n in range(1, 10, 3):
print("Printing with step:", n)
# الإخراج
# الطباعة مع الخطوة: 1
# الطباعة مع الخطوة: 4
# الطباعة مع الخطوة: 7
5. تعليمة الكسر مع حلقة for
تُستخدم تعليمة الكسر للخروج من حلقة for مبكرًا. يتم استخدامها لكسر حلقة for عند تحقق شرط معين.
لنفترض أن لدينا قائمة من الأرقام ونريد التحقق مما إذا كانت الرقم موجودًا أم لا. يمكننا تكرار القائمة من الأرقام وإذا تم العثور على الرقم، نكسر الحلقة لأنه ليس هناك حاجة لمواصلة التكرار على العناصر المتبقية.
في هذه الحالة، سنستخدم شرط if else في بايثون بالإضافة إلى حلقتنا for.
nums = [1, 2, 3, 4, 5, 6]
n = 2
found = False
for num in nums:
if n == num:
found = True
break
print(f'List contains {n}: {found}')
# الناتج
# القائمة تحتوي على 2: صحيح
6. تعليمة الاستمرار مع حلقة for
يمكننا استخدام تعليمات الاستمرار داخل حلقة for لتخطي تنفيذ جسم الحلقة for لشرط محدد.
لنفترض أن لدينا قائمة من الأرقام ونريد طباعة مجموع الأرقام الإيجابية. يمكننا استخدام تعليمات الاستمرار لتجاوز حلقة for للأرقام السالبة.
nums = [1, 2, -3, 4, -5, 6]
sum_positives = 0
for num in nums:
if num < 0:
continue
sum_positives += num
print(f'Sum of Positive Numbers: {sum_positives}')
6. الحلقة for في Python مع كتلة else
يمكننا استخدام كتلة else مع حلقة for في Python. يتم تنفيذ الكتلة else فقط عندما لا يتم إنهاء الحلقة for بواسطة تعليمة الكسر.
لنفترض أن لدينا وظيفة لطباعة مجموع الأرقام إذا وفقط إذا كانت جميع الأرقام زوجية.
يمكننا استخدام تعليمة الكسر لإنهاء الحلقة for إذا كانت العدد غير الزوجي موجودة. يمكننا طباعة المجموع في الجزء else بحيث يتم طباعته فقط عند تنفيذ الحلقة for بشكل طبيعي.
def print_sum_even_nums(even_nums):
total = 0
for x in even_nums:
if x % 2 != 0:
break
total += x
else:
print("For loop executed normally")
print(f'Sum of numbers {total}')
# سيتم طباعة المجموع هنا
print_sum_even_nums([2, 4, 6, 8])
# لن يتم طباعة المجموع بسبب وجود عدد غير زوجي في التسلسل
print_sum_even_nums([2, 4, 5, 8])
# الناتج
# تم تنفيذ الحلقة for بشكل طبيعي
# مجموع الأرقام 20
استنتاج
حلقة for في Python مشابهة جداً للغات البرمجة الأخرى. يمكننا استخدام تعليمات الكسر والاستمرار مع حلقة for لتغيير التنفيذ. ومع ذلك، في Python، يمكننا أيضًا الاستفادة من كتلة else الاختيارية في حلقة for.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example