الدرس 9: بايثون لا يمل من التكرار! 🔄 (حلقة `for`)

في هذا الدرس الممتع، سنتعلم كيف نجعل بايثون يقوم بنفس العمل مرارًا وتكرارًا بدون ملل باستخدام حلقة `for`! سنقوم بالعد من 1 إلى 10، وطباعة اسم الطفل عدة مرات بسهولة.
رقم الدرس 9
آخر تحديث 2025/05/22
تقدم القراءة

بايثون العامل النشيط: قوة التكرار!


أهلاً بكم أيها الأبطال الخارقون في مغامرة برمجية جديدة! 🚀
تخيلوا أنكم تريدون أن تكتبوا “أنا بطل!” 100 مرة! يا إلهي، هذا ممل جدًا وسيأخذ وقتًا طويلاً! 😫
لكن لا تقلقوا! صديقنا بايثون لديه قوة خارقة اسمها “التكرار”. باستخدام تعويذة سحرية بسيطة، يمكننا أن نأمر بايثون بأن يكرر أي عمل نريده آلاف المرات في ثانية واحدة، وهو لن يشعر بالملل أبدًا!
اليوم، سنكتشف سر هذه القوة الخارقة ونجعل بايثون يعمل كالعامل النشيط الذي لا يكل ولا يمل! هيا بنا نبدأ! ⚙️

أهداف مغامرتنا اليوم


فهم ما هي حلقة for، وكيف نجعل بايثون يكرر الأوامر مثل الروبوت.
الأجزاء السرية لتعويذة for: الكلمة المفتاحية، الصندوق المؤقت (متغير الحلقة)، وقطار العناصر (العنصر القابل للتكرار).
ما هي حلقة while، وكيف نجعل بايثون يكرر الأوامر “طالما” أن شرطًا معينًا صحيح.
كيف نتجنب فخ “الحلقة اللانهائية” الخطير 🌀!
إتقان استخدام الأداة السحرية range() لصنع قطارات من الأرقام (للعد، والقفز، والعد التنازلي!).
أهمية النقطتين الرأسيتين (:) و**”المسافة البادئة”** في بناء حلقاتنا بشكل صحيح.

1

ما هي حلقة for؟ آلة التكرار السحرية!

تخيل أن لديك قطارًا طويلاً به 5 عربات، وفي كل عربة يوجد كنز 🎁. أنت تريد أن تفتح كل العربات لتأخذ الكنز الذي بداخلها.

حلقة for (تُنطق “فور لوب”) هي بالضبط مثل البطل الذي يمشي على هذا القطار. يبدأ من العربة الأولى، يأخذ الكنز، ثم ينتقل للثانية، يأخذ الكنز، وهكذا حتى يصل إلى آخر عربة في القطار.

العنصر القابل للتكرار (Iterable)


ببساطة، هو أي شيء يشبه القطار الذي يحتوي على عربات! يمكن أن يكون قائمة من أسماء أصدقائك، أو سلسلة من الحروف في اسمك، أو قطارًا من الأرقام تصنعه لنا الأداة range(). حلقة for تستطيع أن تمشي على هذه “العربات” واحدة تلو الأخرى.


2

بايثون يهتف باسمك! 🥳

ماذا لو أردنا أن نكرر أمراً لا علاقة له بالأرقام، مثل طباعة اسمنا؟ يمكننا استخدام `range()` فقط لتحديد **عدد مرات** التكرار، ونتجاهل الرقم الذي بداخل الصندوق المؤقت.

cheering_bot.py
#hero_name هو متغير نخزن فيه اسم البطل

hero_name = "سالم"

#سنكرر الكود 3 مرات. range(3) تصنع قطارًا به 3 عربات (0, 1, 2)

#استخدمنا "_" كاسم للصندوق المؤقت، لأننا لا نهتم بقيمته في هذه المرة

for _ in range(3):

# هذا الأمر داخل الحلقة، لذلك سيتكرر 3 مرات

    print(f"{hero_name} هو الأفضل!")

نصيحة الأبطال: عندما لا تحتاج لاستخدام الرقم الذي يأتي من `range`، استخدم `_` (شرطة سفلية) كاسم للصندوق المؤقت. هذا يخبر المبرمجين الآخرين: “أنا هنا أكرر فقط، ولا أهتم بالعدّاد”.

الآن دورك! جرب الكود في المحرر التفاعلي، وغير اسم “سالم” إلى اسمك لترى بايثون يهتف لك!

🐍 محرر Python تفاعلي - اجعل بايثون يهتف باسمك!
اضغط Ctrl+Enter للتشغيل
💡 اضغط "تشغيل الكود" لرؤية النتائج هنا


3

صديقنا الجديد: حلقة while الذكية!

رائع! لكن ماذا لو لم نكن نعرف بالضبط كم مرة نريد التكرار؟

تخيل لعبة فيديو، شخصيتك تظل تقاتل الوحش **”طالما”** طاقة الوحش أكبر من صفر. قد تهزمه في 3 ضربات، أو قد تحتاج 10 ضربات! لا نعرف العدد مسبقًا.

هنا تأتي بطلتنا حلقة `while`. إنها لا تسأل “كم مرة؟”، بل تسأل “هل هذا الشرط لا يزال صحيحًا؟”.

العد التنازلي باستخدام while
#1. نجهز متغيرًا ونعطيه قيمة ليبدأ منها

count = 5

#نطبع رسالة الاستعداد

print("الاستعداد للإطلاق باستخدام while...")

#2. نضع الشرط: طالما أن قيمة count أكبر من 0، استمر في التكرار

while count > 0:

# اطبع القيمة الحالية لـ count

    print(count)

# 3. أهم خطوة على الإطلاق: نغير قيمة المتغير داخل الحلقة!

# هنا ننقص 1 من count في كل مرة.

    count = count - 1
#عندما يصبح count يساوي 0، يصبح الشرط خاطئًا وتتوقف الحلقة

print("انطلاق! 🚀")

🌀 خطر: الحلقة اللانهائية! 🌀


في حلقة while، يجب أن تتأكد من وجود سطر كود يغير المتغير ليجعل الشرط خاطئًا في النهاية. في مثالنا، السطر count = count – 1 هو الذي ينقذنا. إذا نسيناه، سيظل count دائمًا 5، وسيظل الشرط count > 0 صحيحًا إلى الأبد، وسيستمر بايثون في الطباعة دون توقف! هذا فخ خطير يسمى “الحلقة اللانهائية”.


وقت التحدي! 🚀

متوسط10 دقائق

أفضل طريقة لتعلم التكرار هي بالممارسة! جرب هذه المهام في المحررات التفاعلية أدناه:

التحدي 1: العد التنازلي للانطلاق!

اكتب برنامجًا يعد تنازليًا من 5 إلى 1، ثم يطبع “انطلاق! 🚀”. (تلميح: استخدم الخطوة -1 في range()).

🐍 محرر Python تفاعلي - تحدي العد التنازلي
اضغط Ctrl+Enter للتشغيل
💡 اضغط "تشغيل الكود" لرؤية النتائج هنا

التحدي 2: جدول الضرب

اكتب برنامجًا يطبع جدول ضرب الرقم 3 (من 3*1 إلى 3*10).

🐍 محرر Python تفاعلي - تحدي جدول الضرب
اضغط Ctrl+Enter للتشغيل
💡 اضغط "تشغيل الكود" لرؤية النتائج هنا


ملخص قوتنا الخارقة اليوم


حلقة for: ممتازة للتكرار لعدد معروف من المرات.
حلقة while: مثالية للتكرار طالما أن شرطًا معينًا صحيح.
الحلقة اللانهائية: هي خطر يجب الانتباه له في حلقة while.
الاختيار الصحيح: اختر for للعدد المعروف، و while للشرط المجهول.

المغامرة القادمة!


أبدعتم أيها الأبطال الخارقون! 🌟 لقد سيطرتم الآن على كل أشكال التكرار في بايثون. أنتم جاهزون الآن لتنظيم بياناتكم بشكل أفضل. في الدرس القادم، سنتعلم عن “القوائم” (Lists)، وهي صناديق سحرية يمكنها حمل الكثير من الأشياء المختلفة (أرقام، نصوص، وأكثر!) لنستخدم معها حلقات التكرار بقوة أكبر! إلى اللقاء أيها الأبطال! 👋

🔐 سجل دخولك لحفظ التقدم

سجل دخولك لحفظ تقدمك والحصول على شهادة إتمام

تسجيل الدخول