🔁 حلقة For في بايثون: أداة التكرار الذكية التي ستغير طريقة برمجتك!
اليوم سنتعلم واحدة من أهم الأدوات في البرمجة وهي حلقة For. إذا كنت تريد تنفيذ أمر معين عدة مرات، أو التعامل مع كل عنصر في قائمة طويلة، فإن حلقة For هي الحل الأمثل! هيا نبدأ رحلتنا لاكتشاف هذه الأداة القوية. 🚀
💡 ما هي حلقة For؟
تخيل أن لديك قائمة أسماء لطلاب في الفصل، وتريد طباعة كل اسم على حدة. بدلاً من كتابة أمر الطباعة عشرات المرات، يمكنك استخدام حلقة For لتفعل ذلك بسهولة!
حلقة For في بايثون هي أداة تسمح لك بتكرار تنفيذ مجموعة من الأوامر (كود) لعدد محدد من المرات، أو لكل عنصر موجود داخل كائن يمكن التكرار عليه (مثل قائمة List أو نص String).
البناء الأساسي (Syntax) بسيط جداً:
for متغير_مؤقت in كائن_قابل_للتكرار:
# الأوامر التي تريد تنفيذها في كل دورة
# ملاحظة: يجب ترك مسافة بادئة (Indentation) لهذا السطر وما يليه
🧩 البنية الأساسية خطوة بخطوة
لنفهم البنية بشكل أفضل:
- الكلمة المفتاحية
for: تعلن بداية كتابة حلقة for. - المتغير المؤقت: هو متغير نختار له اسمًا (مثل
itemأوx). في كل دورة من دورات الحلقة، سيأخذ هذا المتغير قيمة عنصر جديد من العناصر التي نكرر عليها. - الكلمة المفتاحية
in: تفصل بين المتغير المؤقت وكائن التكرار. - كائن قابل للتكرار (Iterable): هو الكائن الذي يحتوي على مجموعة من العناصر، مثل القوائم (
Lists) والنصوص (Strings). - النقطتان
:: ضروريتان للإعلان عن بداية كتلة الأوامر الخاصة بالحلقة. - كتلة الأوامر (Body): هي مجموعة الأوامر التي سيتم تنفيذها في كل دورة. يجب أن تكون هذه الأسطر متبوعة بمسافة بادئة (عادة 4 فراغات).
📝 مثال 1: التكرار على قائمة (List)
لنطبق ما تعلمناه على قائمة تحتوي على أسماء فواكه.
# قائمة تحتوي على عناصر (فواكه)
fruits = ["تفاح", "موز", "برتقال"]
# إنشاء حلقة for للتكرار على كل عنصر في القائمة
for fruit in fruits:
print(fruit)
print("هذه فاكهة لذيذة!")
print("***") # فاصل للتوضيح فقط
# الكود الموجود هنا سيُنفذ بعد انتهاء الحلقة
print("انتهت قائمة الفواكه.")
النتيجة على الشاشة:
تفاح
هذه فاكهة لذيذة!
***
موز
هذه فاكهة لذيذة!
***
برتقال
هذه فاكهة لذيذة!
***
انتهت قائمة الفواكه.
شرح المثال:
- الحلقة تدور 3 دورات لأن القائمة
fruitsتحتوي على 3 عناصر. - في الدورة الأولى: المتغير
fruitيأخذ قيمة العنصر الأول وهو"تفاح"، ثم يتم تنفيذ أوامر الطباعة. - في الدورة الثانية: المتغير
fruitيأخذ قيمة"موز"، وهكذا. - بعد انتهاء العناصر، تخرج الحلقة وتنفذ الأمر الذي يليها (
print("انتهت...")).
✍️ مثال 2: التكرار على نص (String)
يمكننا استخدام حلقة For للتكرار على كل حرف في كلمة أو جملة!
# تخزين نص في متغير
word = "بايثون"
# التكرار على كل حرف في النص
for letter in word:
print(letter)
النتيجة على الشاشة:
ب
ا
ي
ث
و
ن
🔢 مثال 3: استخدام الدالة range()
ماذا لو أردنا تنفيذ أمر ما 5 مرات دون وجود قائمة محددة؟ هنا تأتي دور الدالة السحرية range().
تقوم range() بإنشاء سلسلة من الأرقام المتتالية. range(5) تعني الأرقام من 0 إلى 4 (5 أرقام).
# طباعة الأرقام من 0 إلى 4
for number in range(5):
print(number)
print("***")
# طباعة جملة 3 مرات
for i in range(3):
print("أحب تعلم البرمجة!")
النتيجة على الشاشة:
0
1
2
3
4
***
أحب تعلم البرمجة!
أحب تعلم البرمجة!
أحب تعلم البرمجة!
🛑 التحكم في الحلقة: break و continue
أحياناً نريد إيقاف الحلقة قبل انتهائها أو تخطي دورة معينة.
break: توقف الحلقة فوراً وتخرج منها تماماً.continue: تتخطى الدورة الحالية وتنتقل مباشرة إلى الدورة التالية.
# مثال على break: أوقف الحلقة عند الوصول إلى "برتقال"
fruits = ["تفاح", "موز", "برتقال", "فراولة"]
for fruit in fruits:
if fruit == "برتقال":
print("وجدت البرتقال! توقف.")
break
print(fruit)
print("***")
# مثال على continue: اطبع كل الفواكه ما عدا "موز"
for fruit in fruits:
if fruit == "موز":
continue # تخطى طباعة الموز
print(fruit)
النتيجة على الشاشة:
تفاح
موز
وجدت البرتقال! توقف.
***
تفاح
برتقال
فراولة
🧠 ملخص سريع
- حلقة For تستخدم لتكرار تنفيذ كتلة من الأوامر.
- نستخدمها مع القوائم، النصوص، أو الدالة
range(). - المتغير المؤقت يأخذ قيمة مختلفة في كل دورة.
- تذكر النقطتان
:و المسافة البادئة للأسطر داخل الحلقة. - يمكن التحكم في الحلقة باستخدام
breakللإيقاف وcontinueللتخطي.
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال