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 في بايثون.

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() للحصول على سلسلة أعداد من 1 إلى 5، و استخدمنا الحلقة for لطباعتهم.

المثال الأول

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

النتيجة

1
2
3
4
5

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


في المثال التالي إستخدمنا الدالة range() للحصول على سلسلة أعداد من 5 إلى 1، و استخدمنا الحلقة for لطباعتهم.

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

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

النتيجة

5
4
3
2
1

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