5.2 حلقة التكرار المحدد
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على:
- شرح بنية حلقة التكرار المحدد
for. - استخدام حلقة التكرار المحدد
forلتنفيذ المهام المتكررة.
حلقة التكرار المحدد
في بايثون، يمكن أن تكون الحاوية نطاقًا من الأرقام، أو سلسلة نصية من الأحرف، أو قائمة من القيم. للوصول إلى الكائنات داخل حاوية، يمكن تصميم حلقة تكرارية لاسترداد الكائنات واحدًا تلو الآخر. تتكرر حلقة التكرار المحدد على جميع العناصر في حاوية. مثال: التكرار على قائمة الطلاب في فصل دراسي وطباعة أسماء الطلاب.
مفاهيم تطبيقية
حلقة التكرار المحدد على حاوية سلسلة نصية
يمكن اعتبار المُتغيِّر من نوع السلسلة النصية حاوية لأحرف متعددة، وبالتالي يمكن التكرار عليها. بالنظر إلى الشِفرة التالية، أجب عن الأسئلة.
str_var = "A string"
count = 0
for c in str_var:
count += 1
print(count)
Range()
دالّة في حلقة التكرار المحدد
يمكن استخدام حلقة التكرار المحدد for للتكرار والعد. تُعد دالّة range() أسلوبًا شائعًا لتنفيذ العد في حلقة التكرار المحدد for. تُنشئ دالّة range() تسلسلاً من الأعداد الصحيحة بين رقمين مع حجم خطوة معيّن. هذا التسلسل العددي يشمل البداية ويستبعد النهاية من التسلسل. يمكن لدالّة range() أن تأخذ ما يصل إلى ثلاث قيم إدخال. الأمثلة مقدمة في الجدول أدناه.
| دالّة Range | الوصف | مثال | الإخراج |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
||
|
|
||
|
|
|
|
|
|
||
|
|
||
|
|
مثال 5.2
برنامجان يطبعان جميع مضاعفات العدد 5 الصحيحة الأقل من 50 (لاحظ إيجاز بنية for مقارنةً بـ while)
# شرط حلقة التكرار المحدد باستخدام
# دالّة range() لطباعة
# جميع مضاعفات 5 الأقل من 50
for i in range(0, 50, 5):
print(i)
|
# تنفيذ حلقة التكرار الشرطي لطباعة
# مضاعفات 5 الأقل من 50
# التهيئة
i = 0
# تحديد النطاق ليكون أقل من 50
while i < 50:
print(i)
i+=5
|
مفاهيم تطبيقية
حلقة التكرار المحدد باستخدام دالّة range()
جرّب بنفسك
عد المسافات
اكتب برنامجًا يستخدم حلقة التكرار المحدد for يأخذ سلسلة نصية كإدخال ويعد عدد المسافات في السلسلة النصية المقدمة. يجب أن يطبع البرنامج عدد المسافات التي تم عدها. مثال: إذا كان الإدخال "Hi everyone"، فإن البرنامج يخرج 1.
جرّب بنفسك
المتسلسلات
اكتب برنامجًا يقرأ قيمتين صحيحتين، n1 و n2، بحيث تكون n1 < n2، وينفذ المهام التالية:
- يطبع جميع الأعداد الزوجية بين الرقمين المقدمين (شاملاً كليهما)، بترتيب تصاعدي.
- يطبع جميع الأعداد الفردية بين الرقمين المقدمين (باستثناء كليهما)، بترتيب تنازلي.
Input: 2 8
Prints:
2 4 6 8
7 5 3
ملاحظة: يجب أن يُرجع البرنامج رسالة خطأ إذا كان الرقم الثاني أصغر من الأول.