1. فهم أساسيات جملة continue
تُستخدم جملة continue
في هيكل الحلقات في بايثون لتخطي التكرار الحالي عند استيفاء شرط معين والانتقال إلى التكرار التالي. يكون هذا مفيدًا عندما نريد استبعاد عنصر معين من المعالجة.
1.1 بناء جملة continue
الأساسي
يتم استخدام جملة continue
داخل حلقة for
أو while
. فيما يلي بناء الجملة الأساسي:
for i in range(5):
if i == 2:
continue
print(i)
في هذا الكود، عندما تكون قيمة i
تساوي 2، يتم تنفيذ continue
مما يؤدي إلى تخطي جملة print
. وبالتالي، يكون الإخراج 0, 1, 3, 4
.
2. كيفية استخدام continue
داخل حلقة for
تُستخدم حلقات for
بشكل شائع في تنفيذ العمليات المتكررة. عند استخدام continue
داخل هذه الحلقات، يمكننا تخطي عمليات معينة وفقًا لشروط محددة.
2.1 مثال بسيط على استخدام continue
في حلقة for
في الكود التالي، نقوم بمعالجة قائمة من الأرقام، ولكننا نتخطى بعض القيم بناءً على شرط معين:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num % 2 == 0:
continue
print(num)
في هذا الكود، يتم تخطي الأرقام الزوجية باستخدام continue
، وبالتالي يكون الإخراج 1, 3, 5
.
2.2 استخدام continue
داخل الحلقات المتداخلة
عند استخدام continue
داخل حلقة متداخلة، فإنها تؤثر فقط على الحلقة الداخلية. على سبيل المثال:
for i in range(3):
for j in range(3):
if j == 1:
continue
print(i, j)
في هذا الكود، عندما تكون j
تساوي 1، يتم تنفيذ continue
مما يؤدي إلى تخطي الطباعة لتلك القيمة، وبالتالي يكون الإخراج: (0, 0), (0, 2), (1, 0), (1, 2), (2, 0), (2, 2)
.

3. كيفية استخدام continue
داخل حلقة while
يمكن استخدام continue
داخل حلقات while
أيضًا لتخطي التكرارات بناءً على شروط معينة والانتقال إلى التكرار التالي.
3.1 مثال على استخدام continue
في حلقة while
في الكود التالي، يطلب البرنامج من المستخدم إدخال رقم، وعند استيفاء شرط معين يتم تخطي جزء معين من المعالجة:
counter = 0
while counter < 5:
counter += 1
if counter == 3:
continue
print(counter)
في هذا المثال، عندما تكون قيمة counter
تساوي 3، يتم تنفيذ continue
مما يؤدي إلى تخطي الطباعة. وبالتالي يكون الإخراج 1, 2, 4, 5
.
3.2 التحقق من إدخال المستخدم باستخدام continue
يمكن استخدام continue
للتحقق من إدخال المستخدم وتخطي المدخلات غير الصحيحة، كما في المثال التالي:
while True:
text = input("أدخل رقمًا (أو 'exit' للخروج): ")
if text == 'exit':
break
if text == '':
print("الإدخال فارغ، يرجى المحاولة مرة أخرى.")
continue
print(f"لقد أدخلت: {text}")
في هذا الكود، إذا قام المستخدم بإدخال قيمة فارغة، يتم تنفيذ continue
لتخطي العملية وإعادة طلب الإدخال.
4. دمج continue
مع else
في بايثون، يمكن دمج else
مع حلقات for
وwhile
. عند استخدام continue
، يمكن أن يتم تنفيذ else
عند انتهاء الحلقة.
4.1 مثال على استخدام else
مع continue
في المثال التالي، يتم تنفيذ else
بعد انتهاء الحلقة الداخلية:
for i in range(3):
for j in range(3):
if j == 1:
continue
print(i, j)
else:
print("تم إنهاء الحلقة الداخلية.")
في هذا الكود، حتى إذا تم تنفيذ continue
، فإن else
ستعمل بعد انتهاء الحلقة الداخلية.

5. الفرق بين continue
و break
يُستخدم كل من continue
و break
للتحكم في تدفق الحلقات، ولكنهما يختلفان في طريقة عملهما.
5.1 كيفية عمل continue
تعمل continue
على تخطي التكرار الحالي فقط والانتقال إلى التكرار التالي دون إنهاء الحلقة بالكامل.
5.2 كيفية عمل break
أما break
، فهي تُنهي الحلقة بالكامل فور استيفاء الشرط، مما يمنع استمرار التكرارات المتبقية. انظر المثال التالي:
for i in range(5):
if i == 3:
break
print(i)
في هذا الكود، بمجرد أن تصبح قيمة i
تساوي 3، يتم تنفيذ break
مما يؤدي إلى إنهاء الحلقة بالكامل، ويكون الإخراج: 0, 1, 2
.
5.3 متى يجب استخدام كل منهما؟
إذا كنت بحاجة فقط إلى تخطي خطوة معينة داخل الحلقة، فاستخدم continue
. أما إذا كنت بحاجة إلى إيقاف الحلقة بالكامل عند استيفاء شرط معين، فاستخدم break
.
6. التطبيقات العملية لاستخدام continue
يمكن استخدام continue
لتحسين أداء البرامج وتجنب تنفيذ عمليات غير ضرورية. فيما يلي بعض الأمثلة العملية.
6.1 تصفية البيانات
يمكن استخدام continue
لتخطي القيم غير المرغوب فيها أثناء معالجة البيانات. على سبيل المثال:
data = [1, -1, 2, -2, 3, -3]
for value in data:
if value < 0:
continue
print(value)
في هذا المثال، يتم تخطي القيم السالبة باستخدام continue
، مما يجعل الإخراج 1, 2, 3
.

7. الأخطاء الشائعة واستكشاف المشكلات
عند استخدام continue
، قد تواجه بعض الأخطاء الشائعة. فيما يلي بعض المشكلات المحتملة وكيفية حلها.
7.1 خطأ في المسافة البادئة (Indentation)
أحد أكثر الأخطاء شيوعًا عند استخدام continue
هو الخطأ في المسافة البادئة. إذا لم يتم وضع continue
في الموضع الصحيح، فقد يؤدي ذلك إلى سلوك غير متوقع.
7.2 خطر الحلقات اللانهائية
عند استخدام continue
داخل حلقة while
، من المهم التأكد من أن هناك شرطًا يُنهي الحلقة في النهاية، وإلا فقد تتسبب في حلقة لا نهائية. مثال على ذلك:
counter = 0
while counter < 5:
if counter == 3:
continue # سيؤدي هذا إلى حلقة لا نهائية
counter += 1
print(counter)
في هذا المثال، يتم تنفيذ continue
عندما تكون counter
تساوي 3، ولكن نظرًا لعدم زيادة قيمة counter
قبل continue
، فإن الحلقة ستستمر إلى ما لا نهاية.
8. الخاتمة
تعتبر continue
أداة قوية عند استخدامها بشكل صحيح داخل الحلقات في بايثون. من خلال فهم كيفية عملها والفرق بينها وبين break
، يمكنك تحسين كفاءة الكود الخاص بك وجعله أكثر تنظيمًا.
سواء كنت تستخدمها لتخطي عناصر معينة أثناء التكرار أو لتنظيم تدفق التنفيذ داخل الحلقات المتداخلة، فإن معرفة متى وكيف تستخدم continue
يمكن أن تجعل الكود الخاص بك أكثر قابلية للقراءة وأفضل أداءً.