الحلقة for
في بايثون
نستخدم الحلقة for
للمرور على جميع عناصر السلسلة أو المصفوفة بسهولة بدون الحاجة لتعريف عداد و تحديد أين يبدأ و أين ينتهي.
تستخدم لتنفيذ الكود عدة مرات محددة.
We use the loop whileif we want to execute the code several times, but we do not know how many times exactly because we want to stop the execution if a certain condition is met.
This episode stops repeating itself if the condition we set for it is met.
Here as if we say: "As long as the condition is not met, continue to repeat the code."
الصيغة العامة ل الحلقة for في بايثون
for element in sequence: statements
element: هو متغير عادي او ما يسمى العداد نقوم بتعريفه بداخل الحلقة . في كل دورة سيتم جلب قيمة من قيم السلسلة الموضوعة بعده و وضعها فيه.
sequence: هي السلسلة أو المصفوفة التي نريد الوصول لجميع عناصرها.
statements: هي الأوامر الموضوعة في الحلقة و هي تتنفذ في كل دورة .
إذاً هنا تقوم الحلقة بالمرور على جميع عناصر المصفوفة بالترتيب من العنصر الأول إلى العنصر الأخير , و في كل دورة تقوم بتخزين قيمة العنصر في المتغير الذي قمنا بتعريفه.
الحلقة for
في بايثون تعمل كما تعمل الحلقة ForEach
في لغات البرمجة الأخرى.
The for loop in Python works the same as the ForEach loop in other programming languages.
أمثلة حول الحلقة for
في بايثون
سوف أقوم الآن بتنفيذ برنامج يعرض قيم جميع عناصر مصفوفة باستخدام الحلقة for
.
# تحتوي على 7 عناصر myname هنا قمت بتعريف مصفوفة إسمها days = ['Saddam', 'Saleh', 'Farea', 'Mogbel', 'Mohamed', 'Alatai', 'Alawiri'] # بعدها سيتم عرض قيمته ,name في المتغير myname هنا في كل دورة سيتم تخزين قيمة عنصر جديد من عناصر المصفوفة for name in myname: print(name)
•سنحصل على المخرجات التالية عند عند التنفيذ
Saleh
Farea
Mogbel
Mohamed
Alatai
Alawiri
في هذا المثال اللاحق ايضا سنقوم الآن بكتابة برنامج يمر على أحرف النص و يعرضهم حرفاً حرفاً باستخدام الحلقة for
.
معلومة: النص بطبيعته يمثل سلسلة من الأحرف لذلك بايثون تتيح لك فعل هذا بسهولة .
# هنا قمت بتعريف متغير يحتوي على نص, أي يحتوي على سلسلة من الأحرف alawiri = 'Alawiri Saddam' # بعدها سيتم عرضه .alawiri في كل دورة في الحلقة سيتم جلب حرف من هذا النص و تخزينه في المتغير
for letter in alawiri:
print(letter)
•سنحصل على النتيجة التالية عند التشغيل
l
a
w
i
r
i
S
a
d
d
a
m
طريقة إستخدام الدالة range()
مع الحلقة for
في بايثون
المثال التالي يشرح طريقة إستخدام الدالة range()
لجعل الحلقة for
كأنها تعدّ .
مثال يوضح طريقة إستخدام الدالة range()
لجعل الحلقة for
كأنها تعدّ
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 1 إلى 5. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(1, 6, 1): print(n)
•سنحصل على النتيجة التالية عند التشغيل
2
3
4
5
ملاحظة: هنا كان يمكننا كتابة range(1, 6)
بدلاً من كتابة range(1, 6, 1)
و الحصول على نفس النتيجة.
المثال التالي يشرح طريقة إستخدام الدالة range()
لجعل الحلقة for
كأنها تعدّ بشكل عكسي, أي تبدأ من أكبر عدد فيها إلى أصغر عدد فيها.
مثال يشرح طريقة إستخدام الدالة range()
لجعل الحلقة for
كأنها تعدّ بشكل عكسي
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 5 إلى 1. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(5, 0, -1): print(n)
•سنحصل على النتيجة التالية عند التشغيل
4
3
2
1
الـ -1
الموضوعة في الدالة range()
تعني أن سلسلة الأرقام تقل واحداً في كل مرة.
لهذا السبب وجدنا أن الدالة range()
أرجعت سلسلة الأرقام التالية: 5, 4, 3, 2, 1.