حلقه 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\' است.

دیدگاه خود را بنویسید