البرمجة

استخدام break و continue و pass في بايثون

كيفية استخدام تعابير break و continue و pass عند التعامل مع حلقات التكرار في بايثون 3

تُعد الحلقات من أكثر البُنى البرمجية أهمية في بايثون، حيث تسمح بتنفيذ كود معين عدة مرات بشرط أن يكون هناك متغيرات أو قيم يتم تحديثها في كل مرة. ومع ذلك، في بعض الحالات قد تحتاج إلى التحكم في سير الحلقة بشكل أكثر تفصيلًا ودقة. توفر بايثون بعض التعابير الخاصة مثل break و continue و pass التي تساعد على إدارة تدفق البرنامج داخل الحلقات بكفاءة. في هذا المقال، سنغطي كلًا من هذه التعابير وكيفية استخدامها في الحلقات ضمن بايثون 3.

1. تعبير break

تُستخدم الكلمة المفتاحية break لإيقاف الحلقة تمامًا والانتقال إلى الجزء التالي من البرنامج. يمكن استخدام break في أي نوع من الحلقات، سواء كانت حلقة for أو while. عندما يتم استدعاء break، يتم مغادرة الحلقة فورًا، بغض النظر عن عدد التكرارات المتبقية أو الشرط الذي قد يكون قائمًا في الحلقة.

1.1 الاستخدام الأساسي لـ break

في حالة كانت لديك حلقة for تبحث عن عنصر معين في مجموعة ما، وتريد إيقاف البحث فور العثور عليه، فإن استخدام break سيكون الخيار الأمثل.

python
# حلقة للبحث عن عنصر في قائمة numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] search_for = 5 for num in numbers: if num == search_for: print(f"تم العثور على {search_for} في القائمة!") break # خروج من الحلقة بعد العثور على الرقم

في هذا المثال، بمجرد أن تجد الحلقة الرقم 5، سيقوم break بوقف الحلقة مباشرة، ولن تستمر في البحث في بقية الأرقام.

1.2 استخدام break مع while

يمكنك أيضًا استخدام break في حلقة while، وهو أمر شائع عندما يكون لديك شرط خارجي يُحتمل أن يتم تحقيقه، مثل انتظار إدخال من المستخدم أو انتظار حالة معينة.

python
# انتظار إدخال من المستخدم حتى يكتب "exit" while True: user_input = input("اكتب 'exit' للخروج: ") if user_input == "exit": print("تم إنهاء البرنامج.") break # الخروج من الحلقة

في هذا المثال، تظل الحلقة تعمل إلى أن يكتب المستخدم كلمة “exit”، وعندها يقوم تعبير break بإنهاء الحلقة.

2. تعبير continue

يُستخدم تعبير continue لتخطي التكرار الحالي في الحلقة والانتقال مباشرة إلى التكرار التالي. يمكن أن يكون هذا مفيدًا في حالة كان لديك شرط معين داخل الحلقة وتريد تجاهل الجزء الذي يتوافق مع هذا الشرط، ثم متابعة الحلقة كالمعتاد.

2.1 الاستخدام الأساسي لـ continue

افترض أنك تقوم بحساب مجموع الأرقام ولكنك تريد استبعاد الأرقام الزوجية من عملية الجمع. يمكنك استخدام continue لتخطي الأرقام الزوجية.

python
# حساب مجموع الأرقام الفردية total = 0 for i in range(1, 11): if i % 2 == 0: continue # تخطي الأرقام الزوجية total += i print("مجموع الأرقام الفردية:", total)

في هذا المثال، تقوم الحلقة بالتكرار عبر الأرقام من 1 إلى 10، وعندما يكون الرقم زوجيًا، يتم استخدام continue لتخطي إضافة هذا الرقم إلى المتغير total.

2.2 استخدام continue في حلقة while

كذلك يمكن استخدام continue في حلقة while لتخطي التكرار الحالي وفقًا لشروط معينة. على سبيل المثال:

python
# طلب إدخال من المستخدم حتى يدخل قيمة صحيحة while True: user_input = input("أدخل عددًا صحيحًا: ") if not user_input.isdigit(): print("القيمة المدخلة غير صحيحة، حاول مرة أخرى.") continue # العودة إلى بداية الحلقة print(f"لقد أدخلت العدد {user_input}") break # الخروج من الحلقة عند المدخل الصحيح

في هذا المثال، إذا كانت القيمة المدخلة ليست رقمًا صحيحًا، يتم استخدام continue لإعادة بداية الحلقة حتى يتم إدخال قيمة صحيحة.

3. تعبير pass

تُستخدم الكلمة المفتاحية pass عندما لا تريد تنفيذ أي شيء في مكان معين في الكود، ولكنك لا تريد أن تُسبب حدوث خطأ. تُستخدم غالبًا كعنصر نائب (placeholder) في حلقات أو هياكل تحكم يتم تخطيطها لكن لم يتم تنفيذها بعد.

3.1 الاستخدام الأساسي لـ pass

يمكنك استخدام pass عندما ترغب في إنشاء هيكل لحلقة أو شرط، ولكنك لا تملك خطة لتنفيذه بعد.

python
# مكان لتنفيذ الكود لاحقًا for i in range(5): if i == 3: pass # لا نفعل شيئًا هنا else: print(i)

في هذا المثال، عند الوصول إلى العدد 3، يتم استخدام pass حيث لا يتم تنفيذ أي شيء في هذه النقطة، وتستمر الحلقة في التكرار لبقية الأرقام.

3.2 pass في الهياكل الشرطية

في بعض الأحيان، قد تحتاج إلى تحديد شرط فارغ أو فارغ في هيكل if حيث لا يكون لديك فعل معين بعد أن تتحقق من الشرط.

python
# مثال على استخدام pass في جملة if x = 10 if x > 5: pass # سيتم تنفيذ شيء لاحقًا else: print("x is 5 or less")

في هذا المثال، لا يحدث أي شيء إذا كانت قيمة x أكبر من 5، ولكن يمكن إضافة كود لاحقًا داخل هذا الفرع.

4. المقارنة بين break و continue و pass

تختلف التعابير الثلاثة break و continue و pass في الهدف الذي تخدمه في تدفق البرنامج. إليك مقارنة سريعة:

التعبير الوصف الاستخدام
break يوقف الحلقة ويخرج منها تمامًا. يُستخدم للخروج من الحلقة فورًا عند تحقيق شرط معين.
continue يتخطى التكرار الحالي ويذهب إلى التكرار التالي. يُستخدم لتخطي التكرار الحالي والانتقال مباشرة إلى التكرار التالي.
pass لا يقوم بأي شيء ويستخدم كعنصر نائب. يُستخدم كعنصر نائب أو لتنفيذ هيكل دون القيام بأي عملية فعلية في الوقت الحالي.

5. حالات عملية لاستخدام هذه التعابير

5.1 التعامل مع الحلقات غير المحدودة

إذا كنت بحاجة إلى تنفيذ حلقة لا نهائية بناءً على شرط معين، يمكن استخدام break و continue معًا:

python
while True: command = input("أدخل أمرًا: ") if command == "exit": print("إيقاف البرنامج.") break # الخروج من الحلقة elif command == "skip": print("تخطي هذا التكرار.") continue # العودة إلى بداية الحلقة else: print(f"أنت أدخلت: {command}")

في هذا المثال، تقوم الحلقة بالانتظار لإدخال المستخدم، وإذا أدخل المستخدم “exit”، يتم الخروج من الحلقة باستخدام break، وإذا أدخل “skip”، يتم تخطي التكرار باستخدام continue.

5.2 التكرار على القيم مع الحلقات المتداخلة

عندما تعمل مع حلقات متداخلة، قد تحتاج إلى استخدام break و continue للخروج أو تخطي التكرار في الحلقة الداخلية فقط.

python
for i in range(1, 4): for j in range(1, 4): if j == 2: break # الخروج من الحلقة الداخلية عند j = 2 print(f"{i}, {j}")

في هذا المثال، عند الوصول إلى j == 2، يتم الخروج من الحلقة الداخلية باستخدام break.

6. الخلاصة

تُعد تعابير break و continue و pass أدوات قوية للتحكم في تدفق الحلقات في بايثون 3. يمكن استخدام break لإيقاف الحلقة تمامًا، وcontinue لتخطي التكرار الحالي، وpass لتنفيذ مكان فارغ قد يُكمل لاحقًا. تعتبر هذه التعابير من أساسيات البرمجة التي تساعد المبرمجين على إدارة الحلقات بشكل فعال وتحسين الكود وجعله أكثر مرونة وكفاءة.