Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

بايثونالحلقة for

  • تعريف الحلقة for
  • أمثلة حول الحلقة for
  • الدالة range()
  • طريقة إستخدام الدالة range() مع الحلقة for

تعريف الحلقة for

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


طريقة إستخدامها

for element in sequence:
    statements

  • element: هو متغير عادي نقوم بتعريفه بداخل الحلقة. في كل دورة سيتم جلب قيمة من قيم السلسلة الموضوعة بعده و وضعها فيه.
  • sequence: هي السلسلة أو المصفوفة التي نريد الوصول لجميع عناصرها.
  • statements: هي جميع الأوامر الموضوعة في الحلقة و هي تتنفذ في كل دورة.

إذاً هنا تقوم الحلقة بالمرور على جميع عناصر المصفوفة بالترتيب من العنصر الأول إلى العنصر الأخير, و في كل دورة تقوم بتخزين قيمة العنصر في المتغير الذي قمنا بتعريفه.



معلومة تقنية

الحلقة for في بايثون تعمل كما تعمل الحلقة ForEach في لغات البرمجة الأخرى.

أمثلة حول الحلقة for

سنقوم الآن بكتابة برنامج بسيط يعرض قيم جميع عناصر مصفوفة باستخدام الحلقة for.

المثال الأول

Test.py
# تحتوي على 7 عناصر days هنا قمنا بتعريف مصفوفة إسمها
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
# بعدها سيتم عرض قيمته ,day في المتغير days هنا في كل دورة سيتم تخزين قيمة عنصر جديد من عناصر المصفوفة
for day in days:
print(day)
# تحتوي على 7 عناصر days هنا قمنا بتعريف مصفوفة إسمها days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] # بعدها سيتم عرض قيمته ,day في المتغير days هنا في كل دورة سيتم تخزين قيمة عنصر جديد من عناصر المصفوفة for day in days: print(day)

سنحصل على النتيجة التالية عند التشغيل

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

سنقوم الآن بكتابة برنامج يمر على أحرف النص و يعرضهم حرفاً حرفاً باستخدام الحلقة for.
معلومة: النص بطبيعته يمثل سلسلة من الأحرف لذلك بايثون تتيح لك فعل هذا بسهولة.

المثال الثاني

Test.py
# هنا قمنا بتعريف متغير يحتوي على نص, أي يحتوي على سلسلة من الأحرف
sentence = 'Python is amazing'
# بعدها سيتم عرضه .letter في كل دورة في الحلقة سيتم جلب حرف من هذا النص و تخزينه في المتغير
for letter in sentence:
print(letter)
# هنا قمنا بتعريف متغير يحتوي على نص, أي يحتوي على سلسلة من الأحرف sentence = 'Python is amazing' # بعدها سيتم عرضه .letter في كل دورة في الحلقة سيتم جلب حرف من هذا النص و تخزينه في المتغير for letter in sentence: print(letter)

سنحصل على النتيجة التالية عند التشغيل

P
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 كأنها تعدّ.

المثال الأول

Test.py
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 1 إلى 5. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير
for n in range(1, 6, 1):
print(n)
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 1 إلى 5. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(1, 6, 1): print(n)

سنحصل على النتيجة التالية عند التشغيل

1
2
3
4
5

ملاحظة: هنا كان يمكننا كتابة range(1, 6) بدلاً من كتابة range(1, 6, 1) و الحصول على نفس النتيجة.


المثال التالي يشرح طريقة إستخدام الدالة range() لجعل الحلقة for كأنها تعدّ بشكل عكسي, أي تبدأ من أكبر عدد فيها إلى أصغر عدد فيها.

المثال الثاني

Test.py
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 5 إلى 1. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير
for n in range(5, 0, -1):
print(n)
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 5 إلى 1. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(5, 0, -1): print(n)

سنحصل على النتيجة التالية عند التشغيل

5
4
3
2
1

الـ -1 الموضوعة في الدالة range() تعني أن سلسلة الأرقام تقل واحداً في كل مرة.
لهذا السبب وجدنا أن الدالة range() أرجعت سلسلة الأرقام التالية: 5, 4, 3, 2, 1.

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة