cb
codebamin
الفصل 6 · القوائم (Lists)

إنهاء الحلقات مبكراً باستخدام break

تمرين: اكتب برنامجًا يستقبل قائمة وقيمة، ثم يتحقق مما إذا كانت القائمة تحتوي على هذه القيمة. مثلًا، إذا كانت القيم:

__no_auto_translate__ things = ['This', 'is', 'a', 'list'] thing_to_find = 'is'

فيجب أن يطبع True. أما إذا كانت:

__no_auto_translate__ thing_to_find = 'other'

فيجب أن يطبع False.

جيد جدًا!

حل نموذجي قد يبدو هكذا:

found = False for thing in things: if thing == thing_to_find: found = True

print(found)

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

for thing in things: if thing == thing_to_find: found = True break

النسخة الثانية صحيحة أيضًا، لكنها تتجنب دورات واختبارات لا حاجة لها بعد العثور على العنصر. يمكنك استخدام متتبع التنفيذ لرؤية الفرق بين النسختين خطوة بخطوة.

solution.py
1
2
3
4
5
6
7
8
9
10
الطرفية (shell)
>>>