حلقه while در پایتون
ساختار کلی حلقهی while
به صوت زیر است.
while cond:
cods1
cods2
این نوع حلقه یا کلمهی کلیدی while
شروع میشود و بعد از آن یک دستور شرطی میآید. و تا زمانی که حاصل دستور شرطی جلوی cond صحیح یا True
باشد حلقه اجرا میشود و در نتیجه کدهای cods1 اجرا میشوند تا زمانی که حاصل cond نادرست یا False باشد.
در این نوع حلقه دستور شرطی جلوی هر نوع شرطی میتونه باشه.
دو نوع حلقه در پایتون پیش بینی شده است که آنها را در زیر میبینید.
- حلقه
while
- حلقه
for
حلقهی while در پایتون
تا زمانی که حاصل دستور شرطی جلوی حلقه True
باشه کدهای بلوک while
اجرا خواهند شد.
>>> i=0
>>> while i<10:
... print(i)
... i += 1
...
۰
۱
۲
۳
۴
۵
۶
۷
۸
۹
در حلقهی while به دو مورد باید دقت نمائید.اول این که حتما شمارندهی حلقه (i)را قبل از شروع حلقه مقداردهی نمائید.ثانیا در طول حلقه مقدار شمارنده را تغییر دهید تا حلقهی بینهایت ایجاد نشود.
دستور break در پایتون
اگر در بدنهی حلقهای دستور از دستور یا کلمهی کلیدی break
استفاده کنید این دستور از اجرای حلقه جلوگیری میکند گویا شرط حلق برقرار نبوده است.
>>> i=2
>>> while i<10:
... print(i)
... break
... i +=2
...
۲
با توجه به این که دستور break
بلافاصله و بدون هیچ شرطی پس از چاپ مقدار i
آمده است پس از اولین چاپ کنترل برنامه از بلوک while
خارج شده است و لذا i فقط یک بار چاپ شده است.
>>> i = 1
>>> while i < 6:
... print(i)
... if i == 3:
... break
... i += 1
...
۱
۲
۳
در تکه کد مذکور تا زمانی که i برابر سه نباشد حلقه اجرا خواهد شد.وقتی i
برابر سه باشد و شرط if
صحیح ارزیابی شود دستور break
در بلوک if
اجرا خواهد شد که این باعث میشود دیگر حلقه اجرا نشود.
دستور continue در پایتون
دستور continue در پایتون باعث میشود کدهای بعد از دستور continue اجرا نشود و کنترل اجرای برنامه به ابتدای حلقه منتقل شود و حلقه از گام بعدی اجرا گردد.
در تکه کد زیر حلقه while تا رسیدن به ۳ اجرا میشود اما وقتی i برابر ۳ میشود شرط if برقرار میشود و دستور continue در بلوک if اجرا شده و حلقه را کنترل اجرا برنامه را به ابتدای حلقه انتقال میدهد و حلقه از گام بعدی اجرا میشود.
>>> i = 0
>>> while i < 6:
... i += 1
... if i == 3:
... continue
... print(i)
...
۱
۲
۴
۵
۶
دقت کنید که اگر خط i+=1
را بعد از دستور if قرار دهید یک بعد از اجرای گام سه یک حلقهی بی نهایت اجرا خواهد شد.
استفاده از دستور else در حلقه while در پایتون
بر خلاف پی اچ پی، سی، سی پلاس پلاس زبان برنامه نویسی پایتون از یک else بعد از حلقهی while پشتیبانی میکند. در صورتی که شرط while برقرار نباشد بلوک else اجرا میشود.
>>> i = 1
>>> while i < 6:
... print(i)
... i += 1
... else:
... print("i is no longer less than 6")
...
۱
۲
۳
۴
۵
i is no longer less than 6
همچنین در پایتون میتوانید از حلقههای تو در تو نیز استفاده نمائید.
تکه کد زیر با استفاده از حلقههای تو در تو جدول ضرب ده در ده را چاپ میکند.
i,j=1,1
while i<=10:
j=1
while j<=10:
print(' ',i*j, ' ' ,end=' ')
j +=1
i+=1
print('\n')
با استفاده از پارامتر اختیاری end
در تابع print
میتوانید مشخص کنید که پس از چاپ متغیر یا متن مورد نظر چه کاراکتر یا متنی چاپ گردد. این کاراکتر به صورت پیش فرض 'n\'
است.