استفاده از break و continue

استفاده از break برای خروج از حلقه

برای این که بدون اجرای کدهای باقیمانده در حلقه‌ی while و صرفِ نظر از نتایج هر آزمون شرطی‌ای، فوراً از آن خارج شوید از break استفاده کنید. عبارت break جریان برنامه‌ی شما را هدایت می‌کند؛ می‌توانید از آن برای مدیریّت اجرا شدن یا نشدن خط‌هایی از کد استفاده کنید.

برای نمونه برنامه‌ای را در نظر بگیرید که از کاربران می‌پرسد از چه مکان‌هایی دیدن کرده‌اند. در این برنامه به محضی که کاربر مقدار ‘quit’ را وارد می‌کند، حلقه‌ی while را با فراخوانی break متوقّف می‌کنیم:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "

while True:
    city = input(prompt)

    if city == 'quit':
        break

    else:
        print(f"I'd love to go to {city.title()}!")

حلقه‌ای که مانند 1 با while True آغاز شود تا ابد اجرا می‌شود مگر این که به عبارت break برسد. پرسیدنِ نام شهرهایی که کاربران در آن‌ها بوده‌اند تا زمانی که ‘quit’ را وارد کنند در حلقه‌ی این برنامه ادامه می‌یابد. هنگامی که کاربران ‘quit’ را وارد می‌کنند عبارت break اجرا می‌شود که باعث می‌شود پایتون از حلقه خارج شود:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) New York

I'd love to go to New York!

Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) San Francisco

I'd love to go to San Francisco!

Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) quit
نکته
می‌توانید از break در تمام حلقه‌های پایتون استفاده کنید. برای مثال با به‌کارگیری break می‌توانید از حلقه‌ی for‌ای که داخل یک لیست یا دیکشنری در حال کار کردن است، خارج شوید.

به‌کارگیری continue در یک حلقه

به جای این که بدونِ اجرای باقیمانده‌ی کد، از حلقه‌ای به کلّی خارج شوید، می‌توانید از عبارت continue استفاده کنید تا بر اساس نتیجه‌ی یک آزمون شرطی به ابتدای حلقه برگردید. برای نمونه حلقه‌ای را در نظر بگیرید که از ۱ تا ۱۰ می‌شمرد امّا تنها اعداد فردِ این بازه را چاپ می‌کند:

1
2
3
4
5
6
7
8
9
current_number = 0

while current_number < 10:
    current_number += 1

    if current_number % 2 == 0:
        continue

    print(current_number)

ابتدا مقدار current_number را برابر با ۰ می‌گذاریم. چون این مقدار کمتر از ۱۰ است پایتون وارد حلقه می‌شود. با ورود به حلقه در 1 مقدار را یکی افزایش می‌دهیم، پس current_number برابر با ۱ خواهد بود. سپس گزاره‌ی if باقیمانده‌ی current_number بر ۲ را بررسی می‌کند. اگر باقیمانده ۰ باشد (یعنی current_number بر ۲ بخش‌پذیر باشد)، عبارت continue از پایتون می‌خواهد که باقیِ حلقه‌ی را نادیده بگیرد و به ابتدای آن برگردد. اگر عدد فعلی برای ۲ بخش‌پذیر نباشد ادامه‌ی حلقه اجرا شده و پایتون آن را چاپ می‌کند:

1
2
3
4
5
1
3
5
7
9