لو أردنا طباعة كلمة عشر مرات، فكتابة print عشر مرات متعبة، وتصبح مستحيلة لو كانت ألف مرة. جملة for تكرر الأوامر المُزاحة تحتها العدد الذي نحدده:
for count in range(5):
print("warm")warm warm warm warm warm
الشكل العام: for متغير in range(عدد): ثم نقطتان، والأوامر التي تتكرر تُزاح 4 مسافات مثل if تمامًا. السطر غير المُزاح بعد الحلقة يُنفَّذ مرة واحدة بعد انتهائها.
for i in range(3):
print("Hello")
print("Done")Hello Hello Hello Done
متغير الحلقة
range(5) تجهّز الأرقام من 0 إلى 4، وتعطيها لمتغير الحلقة واحدًا بعد الآخر. يمكن أن نطبعه أو نستخدمه في حساب:
for i in range(5):
print(i)0 1 2 3 4
range(5) لا تشمل 5. لكنها تكرر 5 مرات بالضبط.البداية والنهاية والخطوة
نكتب في range رقمين لنحدد البداية والنهاية، وثلاثة أرقام لنحدد أيضًا الخطوة (مقدار الزيادة كل مرة):
| الكود | قيم i | عدد المرات |
|---|---|---|
| range(3) | 0, 1, 2 | 3 |
| range(1, 3) | 1, 2 | 2 |
| range(1, 6) | 1, 2, 3, 4, 5 | 5 |
| range(0, 10, 2) | 0, 2, 4, 6, 8 | 5 |
| range(10, 0, -3) | 10, 7, 4, 1 | 4 |
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:
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
تدريبات
أكمل السطر الأول لتُطبع warm عشر مرات، واستخدم المتغير count.
for ___:
print("warm")اضغط «تشغيل» لترى النتيجة. اطبع Yay سبع مرات بجملة for والمتغير i.
اضغط «تشغيل» لترى النتيجة. اطبع She sells seashells مرتين باستخدام range(1, 3).
اضغط «تشغيل» لترى النتيجة. البرنامج يطبع sandwich خمس مرات. أضف داخل الحلقة: إذا كانت i تساوي 1 اطبع water bottle.
for i in range(5):
print("sandwich")اضغط «تشغيل» لترى النتيجة. اطبع الأرقام الزوجية من 2 إلى 10، كل رقم في سطر، باستخدام range بثلاثة أرقام.
اضغط «تشغيل» لترى النتيجة. عدّ تنازلي قبل انطلاق الصاروخ: اطبع الأرقام من 5 إلى 1 ثم اطبع Launch! مرة واحدة بعد الحلقة.
اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
for i in range(n):تكرر الأوامر المُزاحة n مرة، و i من 0 إلى n−1.range(a, b)من a إلى b−1، وrange(a, b, step)تزيد بمقدار step كل مرة.- السطر غير المُزاح بعد الحلقة يُنفَّذ مرة واحدة بعد انتهائها.