یکی از مهمترین ابزارهای مورد استفاده در اکثر زبانهای برنامه نویسی، حلقهها هستند. در این قسمت از دوره آموزش رایگان پایتون فنولوژی، به مبحث حلقه while در پایتون میپردازیم. با ما همراه باشید.
حلقه در پایتون
در زبانهای برنامه نویسی نیاز داریم گاهی یک مجموعه دستورات را با بررسی مجموعهای از شرطها، به دفعات زیاد بررسی کنیم. برای این کار به جای نوشتن چندین خط کد شامل شرطها و عبارات داخل آنها، از حلقهها استفاده میکنیم. در شکل زیر دیاگرام حلقهها را در برنامه نویسی مشاهده میکنید. هر حلقه شامل یک شرط در ابتدای حلقه است که اگر درست باشد عبارات داخل شرط انجام میشود و به ابتدای حلقه باز میگردد و اگر شرط اشتباه باشد از حلقه خارج میشودو.
در پایتون برای کار با حلقهها دو نوع دستور وجود دارد:
- حلقه while در پابتون
- حلقه for در پایتون
حلقه while در پایتون
در حلقه while در پایتون مادامیکه یک شرط درست باشد، مجموعه دستوراتی را اجرا میکنیم. برای مثال در قطعه کد زیر میخواهیم مادامیکه متغیر i کمتر از ۶ است، آن را چاپ کنیم:
1 2 3 4 |
i = 1 while i < 6: print(i) i += 1 |
خروجی:
1 2 3 4 5 |
1 2 3 4 5 |
نکته: توجه کنید که حتما باید در چنین مثالهایی مقدار i را در حلقه افزایش دهید وگرنه حلقه تا بینهایت ادامه پیدا میکند!
معمولا در حلقه while در پایتون یا سایر زبانها، از یک متغیر مانند i برای ایندکس کردن یا شماره گزاری تعداد دفعات اجرای حلقه استفاده میکنیم.
دستور break در حلقه while در پایتون
گاهی در برنامه نویسی نیاز داریم به هر دلیلی (مانند بررسی خطاهای برنامه یا دیباگ کردن دستی برنامه و …) در یک حلقه قبل از اینکه شرط حلقه منقضی شود، از حلقه خارج شویم. در حلقهی while در پایتون این کار با دستور break انجام پذیر است. به مثال زیر توجه کنید:
مثال: اگر i برابر ۳ شد، از حلقه خارج شوید.
1 2 3 4 5 6 |
i = 1 while i < 6: print(i) if i == 3: break i += 1 |
خروجی:
1 2 3 |
1 2 3 |
عبارت continue در حلقه while
در مواردی ممکن است بخواهیم در یک حلقه به دلایلی مشابه قبل (بررسی خطاهای برنامه یا دیباگ کردن دستی برنامه و …) از یک مرحلهی حلقه بپریم و بدون اجرای کدهای داخل حلقه به مرحلهی بعدی برویم. برای این کار از دستو continue استفاده میکنیم.
مثال: اگر i برابر ۳ بود، از آن عبور کن و به مراحل بعدی حلقه برو.
1 2 3 4 5 6 |
i = 0 while i < 6: i += 1 if i == 3: continue print(i) |
خروجی:
1 2 3 4 5 |
1 2 4 5 6 |
استفاده از else در حلقه while در پایتون
در ابتدای حلقهی while یک عبارت شرطی نهفته است! به همین دلیل هر موقع این شرط نادرست باشد، میتوانیم با دستور else از برنامه بخواهیم در عوض چه کاری برای ما انجام دهد. به مثال و سینتکس زیر توجه کنید:
1 2 3 4 5 6 |
i = 1 while i < 6: print(i) i += 1 else: print("i is no longer less than 6") |
خروجی:
1 2 3 4 5 6 |
1 2 3 4 5 i is no longer less than 6 |
در این مثال تا وقتی i کوچکتر از ۶ باشد (بین ۱ تا ۵) آن را چاپ میکند و در غیر اینصورت میگوید i دیگر بزرگتر از ۶ نیست.
حلقههای بینهایت در while
اگر شرط حلقهای هیچ موقع False نشود، این حلقه تا بینهایت ادامه پیدا میکند. به همین دلیل هر بار از حلقه while در پایتون استفاده میکنید، باید مواظب باشید شرط حلقه همیشه False نباشد و حلقه جایی به اتمام برسد. در غیر اینصورت این حلقه تمام نشده و به اجرای ادامهی کدهای شما در آن برنامه ضرر وارد میکند. به مثالهای زیر توجه کنید:
مثال ۱:
1 2 3 |
i=0 while(i==0): print('Im in the loop!') |
مثال ۲:
1 2 |
while(True): print('Im in the loop!') |
نکته ۱: در موارد بالا برای خارج شدن از برنامه میتوانید از کلیدهای ترکیبی CTRL+C استفاده کنید.
نکته ۲: استفاده از حلقههای بینهایت میتواند کاربردهایی نیز در برنامه نویسی داشته باشد. کاربردهایی مانند برنامه نویسی سمت سرور که مدام نیاز است ارتباطی بین سرور و کاربر ایجاد شود.
نکته ۳: میتوانید عبارت داخل while را مانند مثال زیر در یک خط بنویسید:
1 |
while(True): print("hello") |