حلقه while در پایتون
حلقه while یکی از حلقههای پرکاربرد در برنامهنویسی است که به شما کمک میکند تا یک سری عملیات را به تعداد دفعات مشخصی تکرار کنید. فرض کنید شما میخواهید یک پیام را به تعداد ۵ بار پشت سر هم چاپ کنید. میتوانید از حلقه while برای این کار استفاده کنید.
i = 0
while i < 5:
print("سلام دنیا")
i += 1
در کد بالا، متغیر i در ابتدا برابر با ۰ است. سپس وارد حلقه while میشویم. شرط حلقه while این است که i کوچکتر از ۵ باشد. در هر بار اجرای حلقه، پیام "سلام دنیا" چاپ میشود و سپس i یک واحد افزایش مییابد. این روند تا زمانی که i برابر یا بزرگتر از ۵ شود، ادامه پیدا میکند.
تفاوت حلقه while و for
شاید این سوال برایتان پیش آمده باشد که چه تفاوتی بین حلقه while و for وجود دارد؟ هر دو حلقه میتوانند برای تکرار یک سری عملیات استفاده شوند، اما تفاوتهایی در نحوه استفاده از آنها وجود دارد.
استفاده از حلقه for
حلقه for معمولاً زمانی استفاده میشود که میخواهید یک سری عملیات را روی یک مجموعه (مثلاً یک لیست، تاپل یا رشته) انجام دهید. فرض کنید شما میخواهید نامهای دانشآموزان یک کلاس را چاپ کنید.
names = ["احمد", "محمد", "زهرا", "علی"]
for name in names:
print(name)
در کد بالا، حلقه for به طور خودکار روی هر عنصر از لیست names تکرار میکند و آن را چاپ میکند.
استفاده از حلقه while
اما حلقه while زمانی مناسبتر است که تعداد تکرار مشخص نباشد یا بستگی به شرایط خاصی داشته باشد. فرض کنید شما میخواهید از کاربر بخواهید که یک عدد را تا زمانی که عدد ۱۰ را وارد کند، وارد کند.
while True:
num = int(input("یک عدد وارد کنید: "))
if num == 10:
break
print("عدد وارد شده", num)
در کد بالا، حلقه while به صورت بینهایت (با شرط True) شروع میشود. در هر بار اجرای حلقه، کاربر یک عدد وارد میکند. اگر عدد وارد شده برابر با ۱۰ باشد، با استفاده از دستور break از حلقه خارج میشویم. در غیر این صورت، پیام "عدد وارد شده" به همراه عدد وارد شده چاپ میشود.
مثالهای بیشتر
- مثال ۱: فرض کنید میخواهیم نمرات دانشآموزان را تا زمانی که نمره ۲۰ را وارد کنیم، ثبت کنیم.
scores = []
while True:
score = int(input("نمره دانشآموز را وارد کنید: "))
if score == 20:
break
scores.append(score)
print("لیست نمرات:", scores)
- مثال ۲: فرض کنید میخواهیم از کاربر بخواهیم که رمز عبور خود را وارد کند و تا زمانی که رمز عبور درست نباشد، دوباره از او بخواهیم رمز عبور را وارد کند.
password = "secret"
attempts = 0
while attempts < 3:
entered_password = input("رمز عبور را وارد کنید: ")
if entered_password == password:
print("رمز عبور درست است!")
break
else:
attempts += 1
print("رمز عبور نادرست است. تلاش مجدد...")
else:
print("تلاشهای شما به پایان رسید.")
حلقههای تکرار، برنامهنویسی را بسیار قدرتمندتر میکنند. با استفاده از حلقه while و for، میتوانید برنامههای پیچیدهتری بنویسید و به دنیای برنامهنویسی وارد شوید!
کاربردهای حلقه while در زندگی روزانه
- یک موتر خودران را در نظر بگیرید که میخواهد از یک نقطه به نقطه دیگر برود. حلقه while میتواند برای کنترل حرکت موتر تا زمانی که به مقصد برسد، استفاده شود.
- در یک سیستم آموزشی آنلاین، حلقه while میتواند برای تکرار درسها تا زمانی که دانشآموز به درس بعدی برود، استفاده شود.
نکتهها و ترفندها
- فراموش نکنید که در حلقه while، باید شرط خروج از حلقه را مشخص کنید تا از تکرار بینهایت جلوگیری شود.
- میتوانید از دستورات break و continue برای کنترل جریان حلقه استفاده کنید.
خلاصه
در این درس، با حلقه while و تفاوت آن با حلقه for آشنا شدیم. حلقه while برای تکرار عملیاتی که تعداد آن مشخص نیست یا بستگی به شرایط خاصی دارد، مناسب است. تمرین و تجربه با مثالهای مختلف، به شما کمک میکند تا بهتر با این حلقهها آشنا شوید و برنامههای پیچیدهتری بنویسید.