بايثون الحلقة for
تعريف الحلقة for
نستخدم الحلقة for
للمرور على جميع عناصر السلسلة أو المصفوفة بسهولة بدون الحاجة لتعريف عداد و تحديد أين يبدأ و أين ينتهي.
تستخدم لتنفيذ الكود عدة مرات محددة.
طريقة إستخدامها
    statements
- element: هو متغير عادي نقوم بتعريفه بداخل الحلقة. في كل دورة سيتم جلب قيمة من قيم السلسلة الموضوعة بعده و وضعها فيه.
- sequence: هي السلسلة أو المصفوفة التي نريد الوصول لجميع عناصرها.
- statements: هي جميع الأوامر الموضوعة في الحلقة و هي تتنفذ في كل دورة.
إذاً هنا تقوم الحلقة بالمرور على جميع عناصر المصفوفة بالترتيب من العنصر الأول إلى العنصر الأخير, و في كل دورة تقوم بتخزين قيمة العنصر في المتغير الذي قمنا بتعريفه.
معلومة تقنية
الحلقة for
في بايثون تعمل كما تعمل الحلقة ForEach
في لغات البرمجة الأخرى.
أمثلة حول الحلقة for
سنقوم الآن بكتابة برنامج بسيط يعرض قيم جميع عناصر مصفوفة باستخدام الحلقة for
.
المثال الأول
# تحتوي على 7 عناصر days هنا قمنا بتعريف مصفوفة إسمها days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] # بعدها سيتم عرض قيمته ,day في المتغير days هنا في كل دورة سيتم تخزين قيمة عنصر جديد من عناصر المصفوفة for day in days: print(day)
سنحصل على النتيجة التالية عند التشغيل
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
سنقوم الآن بكتابة برنامج يمر على أحرف النص و يعرضهم حرفاً حرفاً باستخدام الحلقة for
.
معلومة: النص بطبيعته يمثل سلسلة من الأحرف لذلك بايثون تتيح لك فعل هذا بسهولة.
المثال الثاني
# هنا قمنا بتعريف متغير يحتوي على نص, أي يحتوي على سلسلة من الأحرف sentence = 'Python is amazing' # بعدها سيتم عرضه .letter في كل دورة في الحلقة سيتم جلب حرف من هذا النص و تخزينه في المتغير for letter in sentence: print(letter)
سنحصل على النتيجة التالية عند التشغيل
y
t
h
o
n
i
s
a
m
a
z
i
n
g
الدالة range()
سنستخدم الدالة range()
في الأمثلة التالية لأنها ترجع سلسلة من الأرقام.
عند إستدعاء هذه الدالة يجب تمرير قيمة, أو قيمتين, أو ثلاث قيم لها.
في حال مررت لها قيمة واحدة مثل range(5)
فإنها سترجع سلسلة من الأرقام تبدأ من 0 إلى 4.
إذاً سترجع 0 ثم 1 ثم 2 ثم 3 ثم 4.
في حال مررت لها قيمتين مثل range(1, 5)
فإنها سترجع سلسلة من الأرقام تبدأ من 1 إلى 4.
إذاً سترجع 1 ثم 2 ثم 3 ثم 4.
في حال مررت لها ثلاث قيم مثل range(1, 5, 2)
فإنها سترجع سلسلة من الأرقام تبدأ من 1 إلى 4 و تزيد إثنين كل مرة.
إذاً سترجع 1 ثم 3.
طريقة إستخدام الدالة 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
كأنها تعدّ بشكل عكسي, أي تبدأ من أكبر عدد فيها إلى أصغر عدد فيها.
المثال الثاني
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 5 إلى 1. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(5, 0, -1): print(n)
سنحصل على النتيجة التالية عند التشغيل
4
3
2
1
الـ -1
الموضوعة في الدالة range()
تعني أن سلسلة الأرقام تقل واحداً في كل مرة.
لهذا السبب وجدنا أن الدالة range()
أرجعت سلسلة الأرقام التالية: 5, 4, 3, 2, 1.