آموزش پایتون - حلقه while
دستور while در زبان برنامهنویسی پایتون تا زمانی که یک شرط مشخص برقرار باشد ، اجرای کدهای درون بلاک خود را تکرار می کند .
نحوه نوشتاری
نحوه نوشتاری یک حلقه while در زبان برنامهنویسی پایتون به شرح زیر است:
while عبارت منطقی:
دستور(ها)
در داخل while میتواند یک کد تکی یا یک بلوک از کدها وجود داشته باشد. شرط میتواند هر نوع عبارتی منطقی باشد که حاصل True یا False داشته باشد. حلقه تا زمانی که شرط برقرار باشد ادامه مییابد.
وقتی که نتیجه شرط False شود، اجرای حلقه متوقف می شود و کنترل برنامه دقیقا به خطی که بعد از پایان حلقه قرار دارد منتقل میشود.
در پایتون، تمام کدها که با تعداد فاصلههای خالی یکسان قرار دارند، به عنوان بخشی از یک بلوک کد تلقی میشوند.
پایتون از فضاهای خالی برای گروهبندی کدها استفاده میکند.
نمودار جریان
در اینجا، نکته کلیدی حلقه while این است که حلقه ممکن است هرگز اجرا نشود. چه زمانی ممکن است حلقه اجرا نشود؟ زمانی که شرط مقابل while برقرار نباشد و مقدار آن False باشد آنگاه بدنه حلقه نادیده گرفته میشود و اولین دستور پس از حلقه while اجرا میشود.
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
وقتی کد بالا اجرا میشود، نتیجه زیر را تولید میکند.در این کد، که شامل دستورات print و افزایش مقدار شمارنده است، تا زمانی که count برابر با n باشد، به صورت مکرر اجرا میشود.:
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!
این مثال در یک حلقه بینهایت اجرا میشود ، زیرا شرط حلقه همواره برابر با True می باشد و شما برای خروج از برنامه باید از کلید CTRL+C استفاده کنید.
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
استفاده از دستور else با حلقه while
پایتون از امکان همراه کردن دستور else با یک حلقه while برخوردار می باشد.
-
اگر عبارت else با یک حلقه while استفاده شود، عبارت else زمانی اجرا میشود که شرط مقابل while برابر با False باشد.
در مثال زیر تا زمانی که عدد کمتر از 5 است، آن را چاپ میکند و در غیر اینصورت عبارت else اجرا میشود.
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
سوئیت های تک دستوری
مشابه دستور if، اگر بلاک while شما تنها از یک کدتشکیل شده باشد، میتوان آن را در همان خطی که while قرار دارد ، قرار داد.
در ادامه نحوه نوشتاری و مثالی از دستور while یک خطی آمده است:
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"
بهتر است تلاشی برای اجرای مثال بالا نکنید زیرا به حلقه بینهایت میرود و برای خروج باید کلیدهای CTRL+C را فشار دهید