حلقه while در پایتون
دستور while در پایتون ، دستور یا دستوراتی را تا زمانی که شرط تعیین شده برقرار باشد، تکرار می کند. شرط تعیین شده قبل از اجرا شدن دستورات بررسی می شود.
Syntax دستور while
در زیر Syntax یک حلقه while را مشاهده می کنید:
while expression: statement(s)
منظور از statement(s)، یک یا بلوکی از دستورات می باشد و منظور از condition شرطی است که باید تا برقرار بودن آن حلقه ادامه پیدا کند. تا زمانی که شرط حلقه درست باشد، حلقه دستورات موجود در بلوک حلقه را تکرار می کند و زمانی که شرط حلقه از حالت درست خارج شود، حلقه پایان می یابد و دستور بعد از حلقه اجرا خواهد شد.
در زبان برنامه نویسی پایتون برای مشخص کردن یک بلوک کد از تو رفتگی (indent) استفاده می شود.
دیاگرام حلقه while
یک نکته کلیدی این است که ممکن است حلقه اصلا اجرا نشود. به عبارتی اگر شرطی که در حلقه بررسی می شود، نتیجه نادرست بدهد، بدنه حلقه از بین می رود و اولین کدی که بعد از حلقه قرار دارد اجرا می شود.
مثال
#!/usr/bin/python count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!"
امتحان کنید
زمانی که کد بالا توسط کامپایلر پایتون اجرا شود، نتیجه زیر را تولید خواهد کرد:
The count is: 0 The count is: 1 The count is: 2 The count is: 3 The count is: 4 The count is: 5 The count is: 6 The count is: 7 The count is: 8 Good bye!
بلوک بالا، شامل یک دستور print و یک دستور افزاینده است که تا زمانی که مقدار شمارنده بزرگتر از ۹ نشود، اجرا می شود. هر بار که حلقه اجرا می شود، یک واحد به مقدار شمارنده اضافه می شود.
حلقه بی نهایت
یک حلقه زمانی، بی نهایت می شود که شرط بررسی شده در آن هرگز FALSE نشود. حلقه های بی نهایت در برنامه های Client/Server که باید به طور مداوم در حال اجرا باشند، استفاده می شود.
#!/usr/bin/python var = 1 while var == 1 : # This constructs an infinite loop num = raw_input("Enter a number :") print "You entered: ", num print "Good bye!"
امتحان کنید
زمانی که کد بالا اجرا شود نتیجه زیر را تولید خواهد کرد:
Enter a number :20 You entered: 20 Enter a number :29 You entered: 29 Enter a number :3 You entered: 3 Enter a number between :Traceback (most recent call last): File "test.py", line 5, in <module> num = raw_input("Enter a number :") KeyboardInterrupt
اگر کد بالا را اجرا کنید، یک حلقه بی نهایت ایجاد می شود و برای خاتمه دادن به آن می توانید از کلید های ترکیبی Ctrl + C استفاده کنید.
استفاده از دستور else در حلقه
در زبان پایتون می توانید یک دستور else برای حلقه ها مشخص کنید.
- اگر دستور else با یک حلقه for استفاده شود، زمانی اجرا می شود حلقه به صورت عادی به پایان برسد. به این معنی که توسط دستور break خاتمه نیابد.
- اگر دستور else با یک حلقه while استفاده شود، زمانی اجرا می شود که شرط بررسی شده در حلقه نادرست باشد.
در مثال زیر، زمانی که مقدار متغیر count بیشتر از ۵ باشد، حلقه خاتمه می یابد و بخش else اجرا می شود:
#!/usr/bin/python count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
امتحان کنید
زمانی که کد بالا اجرا شود، نتیجه زیر را تولید خواهد کرد:
0 is less than 5 1 is less than 5 2 is less than 5 3 is less than 5 4 is less than 5 5 is not less than 5
While تک خطی در پایتون
مانند دستور if، اگر حلقه شما فقط یک دستور داشته باشد، می توانید آن را به صورت زیر و در یک خط بنویسید:
#!/usr/bin/python flag = 1 while (flag): print 'Given flag is really true!' print "Good bye!"
امتحان کنید
بهتر است مثال بالا امتحان نکنید زیرا وارد حلقه بی نهایت می شود و شما باید از کلید CTRL + C را برای خروج استفاده کنید.
نوشته حلقه while در پایتون – آموزش Python اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.