حلقه While در پایتون


حلقه While در پایتون یکی از ابزارهای پایه‌ای و قدرتمند برای اجرای کدها به صورت تکراری است. با استفاده از حلقه While می‌توانیم تا زمانی که یک شرط برقرار است، تکرارهایی را انجام دهیم.

 

1. مفهوم پایه حلقه while

حلقه While در پایتون یک شرط را بررسی می‌کند و تا زمانی که آن شرط True باشد، بلوک کد درون حلقه اجرا می‌شود. زمانی که شرط False شود، اجرای حلقه متوقف می‌شود.

while condition:
    # کدهایی که باید تکرار شوند

مثال:

فرض کنید می‌خواهیم عددی را تا زمانی که کمتر از 5 است، چاپ کنیم:

number = 0

while number < 5:
    print("Number is:", number)
    number += 1

نتیجه:

Number is: 0
Number is: 1
Number is: 2
Number is: 3
Number is: 4

در این مثال، تا زمانی که مقدار number کمتر از 5 است، حلقه ادامه دارد و پس از هر بار تکرار، مقدار عدد افزایش می‌یابد.

 

2. شرط‌ها در حلقه While در پایتون

شرط حلقه while می‌تواند هر نوع عبارت منطقی باشد. شرط‌های ساده می‌توانند بررسی کنند که آیا مقدار متغیرها از مقداری خاص کمتر یا بیشتر است.

مثال: حلقه با شرط پیچیده‌تر

حالا تصور کنید می‌خواهیم از حلقه استفاده کنیم تا زمانی که عدد کمتر از 10 باشد ولی فقط اعداد زوج را چاپ کنیم:

number = 0

while number < 10:
    if number % 2 == 0:
        print("Even number:", number)
    number += 1

نتیجه:

Even number: 0
Even number: 2
Even number: 4
Even number: 6
Even number: 8

 

3. حلقه‌های بی‌نهایت

اگر شرط حلقه while همیشه درست باشد، حلقه تا بی‌نهایت ادامه پیدا می‌کند. این نوع حلقه‌ها می‌توانند خطرناک باشند اگر به درستی کنترل نشوند.

مثال: حلقه بی‌نهایت

در این مثال، شرط همیشه درست است و حلقه هرگز متوقف نمی‌شود:

while True:
    print("This is an infinite loop!")

برای خروج از این حلقه باید از کلیدهای ترکیبی مانند Ctrl + C استفاده کنید.

 

4. استفاده از break برای خروج از حلقه While در پایتون

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

مثال: خروج از حلقه با break

فرض کنید می‌خواهیم اعداد را چاپ کنیم ولی اگر به عدد 3 رسیدیم، حلقه متوقف شود:

number = 0

while number < 10:
    if number == 3:
        break
    print("Number is:", number)
    number += 1

نتیجه:

Number is: 0
Number is: 1
Number is: 2

در این مثال، وقتی عدد به 3 می‌رسد، دستور break اجرا می‌شود و حلقه متوقف می‌شود.

 

5. استفاده از continue برای رد کردن یک تکرار

اگر بخواهید یک تکرار خاص را نادیده بگیرید و به تکرار بعدی بروید، می‌توانید از دستور continue استفاده کنید.

مثال: استفاده از continue

فرض کنید می‌خواهیم تمام اعداد را چاپ کنیم، اما وقتی عدد 3 باشد، آن را نادیده بگیریم:

number = 0

while number < 5:
    number += 1
    if number == 3:
        continue
    print("Number is:", number)

نتیجه:

Number is: 1
Number is: 2
Number is: 4
Number is: 5

 

6. حلقه‌های تو در تو (Nested Loops)

در پایتون می‌توان از حلقه‌های تو در تو استفاده کرد. یعنی یک حلقه while می‌تواند شامل یک حلقه دیگر باشد.

مثال: حلقه تو در تو برای چاپ یک الگو

می‌خواهیم یک مربع 3x3 از اعداد چاپ کنیم:

i = 0

while i < 3:
    j = 0
    while j < 3:
        print(f"({i},{j})", end=" ")
        j += 1
    print()  # برای چاپ در خط جدید
    i += 1

نتیجه:

(0,0) (0,1) (0,2) 
(1,0) (1,1) (1,2) 
(2,0) (2,1) (2,2)

 

7. استفاده از else با حلقه while

در پایتون می‌توانید از دستور else همراه با حلقه while استفاده کنید. دستور else زمانی اجرا می‌شود که حلقه به صورت طبیعی (بدون استفاده از break) خاتمه یابد.

مثال: استفاده از else در حلقه while

در این مثال، وقتی حلقه تمام شد، پیام "Loop finished!" چاپ می‌شود:

number = 0

while number < 5:
    print("Number is:", number)
    number += 1
else:
    print("Loop finished!")

نتیجه:

Number is: 0
Number is: 1
Number is: 2
Number is: 3
Number is: 4
Loop finished!

 

8. اهمیت دقت در به‌روز رسانی شرط‌ها

به‌روزرسانی شرط‌ها در حلقه while بسیار مهم است، در غیر این صورت، ممکن است به حلقه‌های بی‌پایان برخورد کنید.

مثال: حلقه‌ای که هرگز متوقف نمی‌شود

در این مثال، حلقه هرگز متوقف نمی‌شود چون مقدار `number` به درستی به‌روزرسانی نمی‌شود:

number = 0

while number < 5:
    print("Number is:", number)
    # هیچ افزایشی در مقدار number وجود ندارد

این کد در یک حلقه بی‌پایان گیر خواهد کرد.

 

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