الدرس 38 من 56 · احترف بايثون

while و break و continue: حلقة التحكم الكاملة

استخدمنا حلقة for للمرور على قوائم. لكن أحياناً ما نعرف كم مرة نكرر — نعرف بس الشرط متى نوقف. هنا تظهر الحلقة الثانية: while — تعني "طالما":

count = 1
while count <= 5:
    print("محاولة رقم", count)
    count += 1
print("خلصنا!")

اقرأها: طالما العداد أصغر من أو يساوي 5، كرر. وكل دورة نزيد العداد وحدة. لو نسيت تزيده؟ الحلقة تمشر للأبد! (توقفها بـ Ctrl+C — خذها تجربة مرة بحياتك).

والآن زرّا التحكم الذهبيان:

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

while True:
    answer = input("اكتب خروج لتوقفني: ")
    if answer == "خروج":
        print("تمام، توقفت")
        break
    print("ما زلت داخل الحلقة...")

while True تعني كرر للأبد — والحلقة ما تخرج إلا بbreak. هذي بنية شهيرة للقوائم الرئيسية بالبرامج (شفتها بمشروع الخزنة!).

continue = زر التخطي: يتخطى الباقي من الدورة الحالية ويمشي للدورة الجاية. مثل قاعة سينما: اللي تذكره مكسور يروح الكرسي الجاي:

for n in range(1, 8):
    if n == 5:
        continue   # تخطَّ الخمسة
    print(n)       # 1 2 3 4 6 7

الخلاصة الذهبية: for لما تعرف العدد، وwhile لما تعرف الشرط، وbreak يقطع الكل، وcontinue يقفز للدورة الجاية.

اختبار سريع للدرس

جاوب على كل الأسئلة — لازم كلها صح. إذا غلطت بيطلع صندوق ذهبي يفهّمك وش الخطأ. مو عيب تغلط، كل مبرمج بالعالم غلط وأخذ منها درس.

1. وش يسوي break داخل الحلقة؟
2. وش الفرق بين continue و break؟
3. ليش نستخدم while بدل for أحياناً؟
الدرس 37 الدرس 39 — القواميس المتقدمة والمجموعات sets
FeLiXFeLiX AI — مساعد المنصتين