القائمة الرئيسية

الصفحات

دورة البرمجة بلغة بايثون - الدرس الحادي عشر (حلقات For في لغة بايثون)

دورة البرمجة بلغة بايثون - الدرس الحادي عشر (حلقات For في لغة بايثون)

دورة البرمجة بلغة بايثون - الدرس الحادي عشر (حلقات For في لغة بايثون)
في هذه المقالة ، ستتعلم التكرار عبر سلسلة من العناصر باستخدام الأشكال المختلفة للحلقات.

ما هي الحلقة في بايثون؟
تُستخدم الحلقة for للتكرار عبر تسلسل (قائمة ، مجموعة ، سلسلة) أو كائنات أخرى قابلة للتكرار. التكرار فوق السلسلة يسمى الاجتياز.

صيغة جملة For
for val in sequence:
 Body of for
هنا ، فval هو المتغير الذي يأخذ قيمة العنصر داخل التسلسل في كل تكرار.

تستمر الحلقة حتى نصل إلى العنصر الأخير في السلسلة. يتم فصل نص الحلقة عن باقي الكود باستخدام المسافة البادئة.

المخطط الانسيابي للحلقة
مخطط انسيابي للحلقة في برمجة Python



مثال:
# Program to find the sum of all numbers stored in a list

# List of numbers
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]

# variable to store the sum
sum = 0

# iterate over the list
for val in numbers:
 sum = sum+val

print("The sum is", sum)

سيكون الناتج:
The sum is 48

دالة ()Range
يمكننا إنشاء تسلسل من الأرقام باستخدام دالة ()Range. حيث الدالة (10)Range ستولد أرقامًا من 0 إلى 9 (10 أرقام).

يمكننا أيضًا تحديد حجم البداية والتوقف وحجم الخطوة range(start, stop,step_size). افتراضيات تكون قيمة step_size هي 1 إذا لم يتم اعطاءها قيمة.

كائن Range "كسول" بمعنى أنه لا يولد كل رقم يحتوي عليه عند إنشائه. ومع ذلك ، فهو ليس عامل تكرير لأنه يدعم عمليات len و len و __getitem__.

لا تقوم هذه الوظيفة بتخزين جميع القيم في الذاكرة ؛ لان ذلك غير فعال. لذلك يتذكر البداية ، والتوقف ، وحجم الخطوة ويولد الرقم التالي أثناء التنقل.

لإجبار هذه الوظيفة على إخراج جميع العناصر ، يمكننا استخدام دالة  ()list.

يوضح المثال التالي الموضوع.

print(range(10))

print(list(range(10)))

print(list(range(2, 8)))

print(list(range(2, 20, 3)))

الناتج
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]

يمكننا استخدام الدالة ()range في تكرار الحلقات من خلال سلسلة من الأرقام. يمكن دمج الدالة مع الدالة ()len للتكرار من خلال تسلسل باستخدام الفهرسة. هنا مثال.

# Program to iterate through a list using indexing

genre = ['pop', 'rock', 'jazz']

# iterate over the list using index
for i in range(len(genre)):
 print("I like", genre[i])

الناتج

I like pop
I like rock
​I like jazz

حلقات for مع else 
يمكن أن يكون للحلقة كتلة else اختيارية أيضًا. يتم تنفيذ الجزء else إذا كانت العناصر في التسلسل المستخدمة قد استنفذت.

يمكن استخدام كلمة break لإيقاف تنفيذ الحلقة. في مثل هذه الحالات ، يتم تجاهل الجزء الآخر.

وبالتالي ، يتم تشغيل الجزء الخاص بالحلقة else إذا لم يحدث عملية توقف break.

هنا مثال لتوضيح هذا.

digits = [0, 1, 5]

for i in digits:
    print(i)
else:
    print("No items left.")

عند تشغيل البرنامج ، سيكون الناتج:

0
1
5
No items left.

هنا ، تطبع الحلقة for عناصر القائمة حتى تستنفد الحلقة. عندما تستنفد حلقة for ، تنفذ كتلة التعليمات البرمجية else وتطبع لم يتبق أي عنصر.

يمكن استخدام جملة ... else مع الكلمة الأساسية break لتشغيل الكتلة else فقط عندما لا يتم تنفيذ الامر break. لنأخذ مثالاً:

# program to display student's marks from record
student_name = 'Soyuj'

marks = {'James': 90, 'Jules': 55, 'Arthur': 77}

for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('No entry with that name found.')

الناتج
No entry with that name found.



reaction:

تعليقات