Python / التكرار

التكرار بجملة for

كرر أوامر عددًا محددًا من المرات بجملة for و range()، وتحكم في البداية والنهاية والخطوة. منهج البكالوريا

لو أردنا طباعة كلمة عشر مرات، فكتابة print عشر مرات متعبة، وتصبح مستحيلة لو كانت ألف مرة. جملة for تكرر الأوامر المُزاحة تحتها العدد الذي نحدده:

Python
for count in range(5):
    print("warm")
وحدة التحكم
warm
warm
warm
warm
warm

الشكل العام: for متغير in range(عدد): ثم نقطتان، والأوامر التي تتكرر تُزاح 4 مسافات مثل if تمامًا. السطر غير المُزاح بعد الحلقة يُنفَّذ مرة واحدة بعد انتهائها.

Python
for i in range(3):
    print("Hello")
print("Done")
وحدة التحكم
Hello
Hello
Hello
Done

متغير الحلقة

range(5) تجهّز الأرقام من 0 إلى 4، وتعطيها لمتغير الحلقة واحدًا بعد الآخر. يمكن أن نطبعه أو نستخدمه في حساب:

Python
for i in range(5):
    print(i)
وحدة التحكم
0
1
2
3
4
العدّ يبدأ من 0 ويتوقف قبل العدد المكتوب: range(5) لا تشمل 5. لكنها تكرر 5 مرات بالضبط.

البداية والنهاية والخطوة

نكتب في range رقمين لنحدد البداية والنهاية، وثلاثة أرقام لنحدد أيضًا الخطوة (مقدار الزيادة كل مرة):

الكودقيم iعدد المرات
range(3)0, 1, 23
range(1, 3)1, 22
range(1, 6)1, 2, 3, 4, 55
range(0, 10, 2)0, 2, 4, 6, 85
range(10, 0, -3)10, 7, 4, 14
Python
for i in range(1, 4):
    print("Round " + str(i))
for i in range(10, 0, -3):
    print(i)
وحدة التحكم
Round 1
Round 2
Round 3
10
7
4
1

ويمكن أن تحتوي الحلقة على if، فيُفحص الشرط في كل دورة. هنا تُطبع رسالة إضافية في الدورة التي يكون فيها i يساوي 2:

Python
for i in range(4):
    print("vocal warm-up")
    if i == 2:
        print("tongue twister practice")
وحدة التحكم
vocal warm-up
vocal warm-up
vocal warm-up
tongue twister practice
vocal warm-up

تدريبات

1أكمل الفراغتدريب المنهج

أكمل السطر الأول لتُطبع warm عشر مرات، واستخدم المتغير count.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
for ___:
    print("warm")
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
2اكتب البرنامجتدريب المنهج

اطبع Yay سبع مرات بجملة for والمتغير i.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
3اكتب البرنامجتدريب المنهج

اطبع She sells seashells مرتين باستخدام range(1, 3).

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
4عدّل البرنامجتدريب المنهج

البرنامج يطبع sandwich خمس مرات. أضف داخل الحلقة: إذا كانت i تساوي 1 اطبع water bottle.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
for i in range(5):
    print("sandwich")
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
5اكتب البرنامجتدريب إضافي

اطبع الأرقام الزوجية من 2 إلى 10، كل رقم في سطر، باستخدام range بثلاثة أرقام.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
6اكتب البرنامجتدريب إضافي

عدّ تنازلي قبل انطلاق الصاروخ: اطبع الأرقام من 5 إلى 1 ثم اطبع Launch! مرة واحدة بعد الحلقة.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.

النقاط الرئيسية

  • for i in range(n): تكرر الأوامر المُزاحة n مرة، و i من 0 إلى n−1.
  • range(a, b) من a إلى b−1، وrange(a, b, step) تزيد بمقدار step كل مرة.
  • السطر غير المُزاح بعد الحلقة يُنفَّذ مرة واحدة بعد انتهائها.