آموزش حلقه while در python، حلقه while یکی از انواع حلقهها است که برای اجرای تکراری دستورات به کار میرود تا زمانی که یک شرط خاص برقرار باشد. این حلقه به شما این امکان را میدهد که عملیات خاصی را بهطور مداوم انجام دهید تا زمانی که شرایط تعیینشده در آن برقرار باشد.
1. حلقه while و نحوه استفاده از آن
ساختار کلی حلقه while
حلقه while به این صورت نوشته میشود:
while condition: # Code to execute as long as condition is True
در این ساختار:
condition: یک عبارت منطقی است که قبل از هر بار اجرای حلقه بررسی میشود.
code: دستوراتی هستند که در هر بار تکرار حلقه اجرا میشوند.
اگر شرط برقرار باشد (True)، دستورات درون حلقه اجرا میشوند. این روند تا زمانی که شرط نادرست شود (یعنی به False برسد) ادامه خواهد داشت.
مثال ساده:
count = 0
while count < 5:
print("Count is:", count)
count += 1
در این مثال:
متغیر count از ۰ شروع میشود.
حلقه تا زمانی که count کمتر از ۵ باشد اجرا میشود.
در هر بار تکرار، count یکی افزایش مییابد.
وقتی count به ۵ میرسد، شرط count < 5 نادرست میشود و حلقه متوقف میشود.
خروجی:
Count is: 0 Count is: 1 Count is: 2 Count is: 3 Count is: 4
1.1 نکات مهم در استفاده از حلقه while:
شرط باید در نهایت نادرست شود: اگر شرط حلقه while همیشه درست باشد، حلقه به صورت بیپایان اجرا میشود و برنامه گیر خواهد کرد. به این نوع حلقهها، حلقههای بیپایان (infinite loops) گفته میشود.
مثال یک حلقه بیپایان:
while True:
print("This loop will run forever.")
در این مثال، چون شرط همیشه True است، حلقه هیچگاه متوقف نمیشود.
1.2 استفاده از break برای خروج از حلقه:
اگر بخواهید از داخل حلقه while زودتر خارج شوید، میتوانید از دستور break استفاده کنید. این دستور بلافاصله اجرای حلقه را متوقف میکند و برنامه به دستور بعد از حلقه میرود.
مثال استفاده از break:
count = 0
while count < 10:
if count == 5:
break # خروج از حلقه زمانی که count برابر 5 شود
print("Count is:", count)
count += 1
خروجی:
Copy code Count is: 0 Count is: 1 Count is: 2 Count is: 3 Count is: 4
در این مثال، وقتی مقدار count برابر با ۵ شود، دستور break اجرا شده و حلقه خاتمه مییابد.
1.3 استفاده از continue برای عبور از یک تکرار:
دستور continue برای عبور از یک تکرار خاص حلقه استفاده میشود. به این معنی که وقتی دستور continue درون حلقه اجرا میشود، باقیمانده کد در آن تکرار نادیده گرفته شده و حلقه از ابتدا شروع میشود.
مثال استفاده از continue:
count = 0
while count < 5:
count += 1
if count == 3:
continue # عبور از این تکرار وقتی count برابر 3 است
print("Count is:", count)
خروجی:
Copy code Count is: 1 Count is: 2 Count is: 4 Count is: 5
در این مثال، وقتی count برابر ۳ میشود، دستور continue باعث میشود که دستور print نادیده گرفته شده و حلقه دوباره اجرا شود.
1.4 حلقه با شرط پیچیده:
شما میتوانید از شرایط پیچیدهتر (با عملگرهای منطقی مانند and, or, not) در حلقه while استفاده کنید.
مثال:
count = 0
while count < 10 and count != 5:
print("Count is:", count)
count += 1
در این مثال، حلقه تا زمانی اجرا میشود که count کمتر از ۱۰ باشد و همزمان برابر ۵ نباشد.
1.5 استفاده از ورودی کاربر در حلقه while:
گاهی اوقات نیاز دارید تا از ورودی کاربر در حلقه استفاده کنید. در این صورت، میتوانید از تابع input() استفاده کنید تا کاربر مقداری را وارد کرده و با آن شرط حلقه را بررسی کنید.
مثال:
while True:
user_input = input("Enter a number (or 'quit' to exit): ")
if user_input == 'quit':
break
else:
print(f"You entered: {user_input}")
در این مثال:
حلقه تا زمانی که کاربر وارد ‘quit’ نکند ادامه مییابد.
اگر کاربر وارد ‘quit’ کند، دستور break اجرا میشود و حلقه تمام میشود.
2. کنترل حلقهها با break و continue
دستورات break و continue ابزارهای قدرتمندی هستند که برای کنترل جریان حلقهها استفاده میشوند. این دستورات به شما این امکان را میدهند که روند اجرای حلقهها را تغییر دهید و تصمیمات پیچیدهتری در حین اجرای حلقهها بگیرید.
2.1 دستور break
دستور break به شما این امکان را میدهد که حلقه را پیش از آنکه شرط توقف آن برقرار شود، خاتمه دهید. به عبارت دیگر، وقتی که درون یک حلقه، دستور break اجرا شود، حلقه فوراً متوقف میشود و کنترل به دستور بعد از حلقه میرود.
دستور break میتواند در هر نوع حلقهای (حلقه while یا حلقه for) استفاده شود.
ساختار:
while condition: # Code to execute if some_condition: break # Exit the loop if some_condition is True
مثال:
count = 0
while count < 10:
if count == 5:
break # Exit the loop when count equals 5
print("Count is:", count)
count += 1
خروجی:
Copy code Count is: 0 Count is: 1 Count is: 2 Count is: 3 Count is: 4
در این مثال، وقتی مقدار count به ۵ رسید، دستور break اجرا میشود و حلقه متوقف میشود، بنابراین مقادیر بزرگتر از ۵ چاپ نخواهند شد.
نکات مهم:
دستور break فقط حلقهی جاری را متوقف میکند، یعنی اگر حلقه درون حلقه دیگری قرار داشته باشد (حلقه تو در تو)، فقط حلقه داخلی متوقف میشود.
اگر break در حلقه for استفاده شود، شمارنده حلقه به روز نمیشود و حلقه فوراً خاتمه مییابد.
2.2 دستور continue
دستور continue به شما این امکان را میدهد که یک تکرار خاص از حلقه را نادیده بگیرید و مستقیماً به تکرار بعدی بروید. به عبارت دیگر، زمانی که دستور continue اجرا میشود، برنامه به شرط حلقه برمیگردد و مرحله بعدی را آغاز میکند، بدون اینکه بقیه دستورات درون حلقه اجرا شوند.
دستور continue نیز میتواند در هر نوع حلقهای (حلقه while یا حلقه for) استفاده شود.
ساختار:
while condition: # Code to execute if some_condition: continue # Skip the current iteration and go to the next one
مثال:
count = 0
while count < 5:
count += 1
if count == 3:
continue # Skip printing when count equals 3
print("Count is:", count)
خروجی:
Count is: 1 Count is: 2 Count is: 4
در این مثال، وقتی count برابر ۳ میشود، دستور continue اجرا میشود و از آن لحظه به بعد، دستور print نادیده گرفته میشود و حلقه از ابتدا شروع میشود تا به تکرار بعدی برسد.
2.3 نکات مهم:
دستور continue باعث میشود که دستورات بعدی در یک تکرار خاص از حلقه نادیده گرفته شوند و حلقه به تکرار بعدی برود.
استفاده از continue معمولاً زمانی مفید است که بخواهید شرایط خاصی را فیلتر کرده و حلقه را بدون اجرای دستورات غیر ضروری ادامه دهید.
مقایسه break و continue
عکس مقایسه break و continue
2.4 مثالهای کاربردی
استفاده از break برای پیدا کردن اولین عدد اول:
در این مثال، از دستور break برای پیدا کردن اولین عدد اول بزرگتر از ۱۰ استفاده شده است.
for number in range(11, 50):
if number % 2 != 0: # If the number is odd
print("First odd number greater than 10:", number)
break # Exit the loop once the first odd number is found
خروجی:
First odd number greater than 10: 11
استفاده از continue برای چاپ اعداد زوج:
در این مثال، از دستور continue برای چاپ تنها اعداد زوج در یک حلقه استفاده شده است.
for number in range(1, 11): if number % 2 != 0: continue # Skip odd numbers print(number)
خروجی:
2 4 6 8 10
در این مثال، هر بار که عدد فرد میشود، دستور continue اجرا میشود و از چاپ آن عدد صرفنظر میشود.
2.5 ترکیب break و continue
گاهی اوقات ممکن است بخواهید هم از دستور break و هم از continue در یک حلقه استفاده کنید. در این صورت، میتوانید با ترکیب این دستورات، منطق پیچیدهتری را پیادهسازی کنید.
مثال:
for number in range(1, 11): if number == 5: break # Exit the loop if number is 5 if number % 2 != 0: continue # Skip odd numbers print(number)
خروجی:
2 4
در این مثال:
ابتدا اگر عدد برابر با ۵ شد، حلقه متوقف میشود.
اگر عدد فرد باشد، از دستور continue برای نادیده گرفتن آن عدد استفاده میشود.
در غیر این صورت، اعداد زوج چاپ میشوند.
2.6 مقایسه break و continue

