تصویر مقاله کاربرد کلمه کلیدی else در حلقه ها

کاربرد کلمه کلیدی else در حلقه ها

خلاصه:
در این مقاله سعی داریم کاربرد کلمه کلیدی else در حلقه ها در زبان برنامه نویسی پایتون رو بررسی کنیم.
مقاله آموزشی۱۴۰۱/۰۷/۲۵ ۰۶:۰۰5 دقیقه1 نظر
۳ بازدید

مقدمه

در این مقاله قصد داریم کاربرد کلمه کلیدی else در حلقه ها رو در زبان برنامه نویسی پایتون بررسی کنیم. با ما همراه باشید.

کلمه کلیدی else

اگر با زبان برنامه نویسی پایتون آشنا باشین، حتما میدونید که از else  عمدتا در عبارت های شرطی استفاده میشه. به عنوان مثال به قطعه کد زیر نگاه کنید:

Python
name = 'Reza'

if name == 'Ali':
    print('hi Ali')
else:
    print('you are not Ali')

در شرط اول ما با استفاده از if و نوشتن یک عبارت شرطی، مقدار متغیر name رو چک می کنیم و اگر برابر با رشته ای با مقدار “Ali” بود، عبارت “hi Ali” رو پرینت می کنیم.
بعد از اون با استفاده از else مشخص می کنیم که اگر به هر علتی شرط اول ما برقرار نبود و مقدار متغیر name برابر با “Ali” نبود، عبارت “you are not Ali” پرینت بشه. خروجی کد بالا طبیعتا به صورت زیر خواهد بود:

Bash / Shell
>>> you are not Ali

استفاده از else در حلقه ها

پس متوجه شدیم که با استفاده از else شما میتونید هنگام عدم برقراری یک عبارت شرطی، کد دیگری رو اجرا کنید.
اما این تنها کاربرد else نیست. شما همچنین میتونید از else در حلقه های for و while استفاده کنید. اجازه بدید از حلقه for شروع کنیم. به نمونه کد زیر نگاه کنید:

Python
for i in range(10):
    print('hello world')

در اینجا ما یک حلقه for داریم که با استفاده از تابع range و ساخت یک generator، باعث میشه تا کد داخل بلاک for به مدت 10 مرتبه اجرا بشه و هر بار عبارت "hello world" رو پرینت بکنه. حالا ما قصد داریم که زمانی که حلقه ما بطور کامل به اتمام رسید، عبارت "finished" رو به کاربر نشون بدیم. برای اینکار میتونیم با نوشتن یک else بعد از حلقه for خودمون و سپس قرار دادن تابع print در اون، این کار رو انجام بدیم.
به نمونه کد زیر نگاه کنید:

Python
for i in range(10):
    print('hello world')
else:
    print('finished')

پس از اجرای کامل حلقه ما، همونطور که میخواستیم عبارت "finished" پرینت میشه:

Bash / Shell
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> finished

شاید براتون سوال شده باشه که اصلا چه نیازی هست که از else استفاده بکنیم؟ در صورتی که میتونیم عبارت print رو بعد از حلقه for قرار بدیم. در جواب این سوال باید بگم که با نوشتن else شما تعیین می کنید که فقط در صورتی که حلقه for شما به طور کامل اجرا بشه و هیچ break ای در اون اتفاق نیوفته، کد داخل بلاک else اجرا بشه.
اجازه بدید این موضوع رو با بررسی دو نمونه کد زیر بیشتر بررسی کنیم.

Python
for i in range(10):
    if i > 1:
        break
    print('hello world')
print('finished')

در حلقه بالا ما با نوشتن یک شرط کاری می کنیم که حلقه ما پس از دو مرحله تکرار متوقف بشه و از حلقه for خارج بشیم. اینکار با استفاده از کلمه کلیدی break امکان پذیر هست. خروجی کار به صورت زیر خواهد بود:

Bash / Shell
>>> hello world
>>> hello world
>>> finished

مشاهده می کنیم که با نوشتن شرط و استفاده از break، حلقه ما دو مرحله بیشتر تکرار نمیشه. اما به دلیل اینکه از کلمه کلیدی else استفاده نکردیم، همچنان عبارت "finished" پرینت شد. برای حل این مشکل، عبارت print خودمون رو داخل یک بلاک else بعد از حلقه for قرار میدیم.

Python
for i in range(10):
    if i > 1:
        break
    print('hello world')
else:
    print('finished')

و خروجی به صورت زیر خواهد شد:

Bash / Shell
>>> hello world
>>> hello world

پس یاد گرفتیم بلاک else ما فقط زمانی اجرا خواهد شد که حلقه ما بطور کامل به کار خودش پایان بده و هیچ break ای در اون صورت نگیره.

همین نکته در مورد حلقه های while هم صادق هست. به نمونه کد زیر نگاه کنید:

Python
num = 0

while num < 10:
    print('hello world')
    num += 1
else:
    print('finished')

در نمونه کد بالا ما با تعریف یک متغیر به اسم num با مقدار اولیه 0، یک حلقه ایجاد می کنیم و داخل حلقه هر بار مقدار اون رو یکی افرایش میدیم. همچنین هر بار در شرط حلقه بررسی می کنیم که مقدار num کوچکتر از 10 باشه. اگر مقدار num بیشتر از 10 شد، حلقه پایان میابد و در صورتی که مقدار اون هنوز کوچکتر یا مساوی با 10 بود، عبارت "hello world" پرینت بشه. همچنین همانند مثال های قبلی، با نوشتن یک بلاک else بعد از حلقه while کاری می کنیم تا در پایان کار حلقه، عبارت "finished" پرینت بشه. خروجی کار به صورت زیر خواهد بود:

Bash / Shell
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> hello world
>>> finished

در قدم بعدی همانند مثال های قبلی با نوشتن یک شرط و کلمه کلیدی break، کاری می کنیم که حلقه پس از دو مرحله اجرا متوقف بشه.

Python
num = 0

while num < 10:
    if num > 1:
        break
    print('hello world')
    num += 1
else:
    print('finished')

خروجی کد بالا به صورت زیر خواهد بود:

Bash / Shell
>>> hello world
>>> hello world

مشاهده می کنیم که با شکستن حلقه و break کردن، بلاک else ما هم اجرا نشد.

اشتراک‌گذاری

لینک را کپی کنید یا مقاله را در تلگرام، واتساپ و لینکدین بفرستید.

نویسنده
م

محمدهادی حاجی‌حسینی

نویسنده مقالات آموزشی کدینگ‌یار

دوره‌های مرتبط

یادگیری عمیق‌تر با دوره‌های پروژه‌محور

مقالات VIP

در هر دوره‌ای شرکت کنید، به محتوای اختصاصی همان دوره دسترسی پیدا می‌کنید.