طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 111 · أساسيات برمجة الحاسب
الدرس 12 · الوحدة 3: القرار والتكرار

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

نتحكم في الحلقة: نوقفها مبكرًا، أو نتخطى دورة منها. ⏱ نحو 15 دقيقة.

12345continuebreak
بعد هذا الدرس ستستطيع أن:
  • توقف الحلقة مبكرًا بـ break.
  • تتخطى دورة بـ continue.
  • تكتب حلقة while True وتخرج منها بـ break.

١break: أوقف الحلقة الآن

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

main.py
for n in range(1, 50):    if n % 7 == 0:        print("أول عدد يقبل القسمة على 7 هو", n)        break
Shell×
>>> %Run main.py
أول عدد يقبل القسمة على 7 هو 7
>>>

٢continue: تخطَّ هذه الدورة

continue لا يوقف الحلقة، بل يترك الدورة الحالية فقط وينتقل إلى التالية. هنا نطبع الأعداد من 1 إلى 7 ما عدا مضاعفات 3:

main.py
for n in range(1, 8):    if n % 3 == 0:        continue    print(n)
Shell×
>>> %Run main.py
1
2
4
5
7
>>>
الأمرماذا يفعل
breakيخرج من الحلقة كلها
continueيترك الدورة الحالية ويكمل بالتالية

٣while True مع break

أحيانًا نكرّر «بلا شرط»، ونقرّر التوقف من داخل الحلقة. نكتب while True، ونخرج بـ break:

main.py
while True:    password = input("كلمة المرور: ")    if password == "1234":        print("تم الدخول")        break    print("خطأ، حاول مرة أخرى")
Shell×
>>> %Run main.py
كلمة المرور: 999
خطأ، حاول مرة أخرى
كلمة المرور: 1234
تم الدخول
>>>

بدون break تصبح while True حلقة لا تنتهي، فتأكد دائمًا أن طريق الخروج موجود.

📎 للاستزادة (اختياري): جمع أعداد حتى يكتب المستخدم صفرًا
main.py
total = 0while True:    n = int(input("عدد (0 للإنهاء): "))    if n == 0:        break    total += nprint("المجموع:", total)
Shell×
>>> %Run main.py
عدد (0 للإنهاء): 5
عدد (0 للإنهاء): 3
عدد (0 للإنهاء): 0
المجموع: 8
>>>

توقّع وتحقّق

ماذا يفعل break؟

break يوقف الحلقة كلها.

ماذا يفعل continue؟

continue تخطٍّ فقط.

حلقة على 1 إلى 5 فيها if n == 3: break قبل print(n). ماذا يُطبع؟

تتوقف عند 3 قبل طباعته.

الحلقة نفسها لكن مع continue بدل break. ماذا يُطبع؟

يتخطى 3 فقط.

الخلاصة

تحدٍّ برمجي: اجمع حتى الصفر

متوسط

اكتب برنامجًا يقرأ أعدادًا من المستخدم ويجمعها، ويتوقف عندما يكتب 0، ثم يطبع المجموع.

المطلوب:
  • استخدم while True.
  • إذا كان العدد 0 اخرج بـ break.
  • اطبع: المجموع: ثم الناتج.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

main.py
total = 0while True:    n = int(input("عدد: "))
المطلوب×
عدد: 4
عدد: 6
عدد: 10
عدد: 0
المجموع: 20
💡 تلميح 1
داخل الحلقة: if n == 0: break
💡 تلميح 2
ثم total += n

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

main.py
total = 0while True:    n = int(input("عدد: "))    if n == 0:        break    total += nprint("المجموع:", total)
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←