
📚 سلسلة تعلّم البرمجة للمبتدئين — الدرس 6 من 10
إذا فاتك الدرس السابق: الجمل الشرطية في Python: اجعل برنامجك يتخذ القرارات
تخيّل أن معلمك طلب منك كتابة «سأنتبه في الحصة» مئة مرة! الحاسوب يستطيع ذلك في جزء من الثانية، بشرط أن نعلّمه كيف يكرّر. في هذا الدرس نتعلم الحلقات التكرارية for وwhile، وهي من أقوى أدوات المبرمج.
لماذا نحتاج إلى التكرار؟
بدل أن نكتب الأمر نفسه عشرات المرات، نكتبه مرة واحدة ونطلب من الحاسوب تكراره. وهذا يجعل البرنامج أقصر وأسهل في التعديل، وأقل عرضة للأخطاء.
حلقة for مع range
نستخدم for عندما نعرف عدد مرات التكرار مسبقًا. والدالة range تولّد سلسلة من الأرقام.
for i in range(5):
print("سأنتبه في الحصة")
سيطبع البرنامج العبارة خمس مرات. والمتغير i يأخذ في كل دورة قيمة جديدة: 0 ثم 1 ثم 2 ثم 3 ثم 4. لاحظ أن العدّ يبدأ من صفر وينتهي قبل الرقم المكتوب.
أشكال range المختلفة
| الكتابة | الأرقام الناتجة |
|---|---|
| range(5) | 0, 1, 2, 3, 4 |
| range(1, 6) | 1, 2, 3, 4, 5 |
| range(0, 11, 2) | 0, 2, 4, 6, 8, 10 |
| range(10, 0, -1) | 10, 9, 8 ... 1 |
تطبيق: جدول الضرب
number = int(input("أي جدول ضرب تريد؟ "))
for i in range(1, 11):
print(f"{number} × {i} = {number * i}")
ثلاثة أسطر فقط تطبع جدول ضرب كاملًا لأي رقم!
المرور على النصوص
حلقة for تستطيع المرور على أحرف النص حرفًا حرفًا:
word = "برمجة"
for letter in word:
print(letter)
حلقة while
نستخدم while عندما لا نعرف عدد مرات التكرار، بل نريد الاستمرار ما دام شرط معيّن صحيحًا.
count = 1
while count <= 5:
print(count)
count = count + 1
تحذير مهم: إذا نسيت تحديث المتغير (السطر الأخير)، يبقى الشرط صحيحًا للأبد، وتدخل في حلقة لا نهائية. لإيقافها اضغط Ctrl + C.
تطبيق: لعبة تخمين الرقم
import random
secret = random.randint(1, 20)
guess = 0
tries = 0
while guess != secret:
guess = int(input("خمّن رقمًا من 1 إلى 20: "))
tries += 1
if guess < secret:
print("أكبر من ذلك")
elif guess > secret:
print("أصغر من ذلك")
print(f"أحسنت! عرفت الرقم في {tries} محاولات")
السطر import random يستدعي مكتبة جاهزة لتوليد الأرقام العشوائية. وtries += 1 اختصار لـ tries = tries + 1. لاحظ كيف جمعنا هنا المتغيرات والشروط والحلقات معًا.
التحكم في الحلقة: break و continue
- break: يوقف الحلقة فورًا ويخرج منها.
- continue: يتخطى بقية الدورة الحالية وينتقل إلى الدورة التالية.
for i in range(1, 11):
if i == 7:
break # توقف عند 7
if i % 2 == 0:
continue # تخطَّ الأعداد الزوجية
print(i) # يطبع 1 3 5
متى أستخدم for ومتى while؟
| الحالة | الأنسب |
|---|---|
| عدد التكرار معروف (10 مرات، كل حرف، كل طالب) | for |
| التكرار حتى يحدث شيء (إجابة صحيحة، ضغط زر) | while |
تمرين لك
اكتب برنامجًا يحسب مجموع الأعداد من 1 إلى 100 باستخدام حلقة for. (الناتج الصحيح: 5050)
الخلاصة
الحلقات توفّر عليك آلاف الأسطر، وتجعل الحاسوب يعمل بدلًا منك. وفي الدرس القادم سنتعلم كيف ننظّم برامجنا في «وحدات» قابلة لإعادة الاستخدام، اسمها الدوال.
جرّب لعبة التخمين وأخبرنا: في كم محاولة عرفت الرقم؟
→ الدرس السابق: الجمل الشرطية في Python: اجعل برنامجك يتخذ القرارات
الدرس التالي: الدوال في Python: نظّم برامجك وأعد استخدام الكود ←
📚 فهرس السلسلة كاملة:
- ما هي البرمجة؟ ولماذا تتعلمها الآن؟
- كيف تختار أول لغة برمجة؟ مقارنة بين Python وJavaScript وغيرهما
- تجهيز بيئة البرمجة: من المتصفح إلى Python وVS Code
- المتغيرات وأنواع البيانات في Python: أول برامجك الحقيقية
- الجمل الشرطية في Python: اجعل برنامجك يتخذ القرارات
- الحلقات التكرارية في Python: for وwhile بأمثلة عملية (أنت هنا)
- الدوال في Python: نظّم برامجك وأعد استخدام الكود
- القوائم والقواميس في Python: تخزين البيانات وتنظيمها
- أساسيات HTML وCSS: ابنِ أول صفحة ويب بنفسك
- مقدمة في JavaScript ومشروع ختامي: ماذا بعد تعلم الأساسيات؟
تعليقات
إرسال تعليق
اكتب تعليقك هنا