برنامهنویسان کامپیوتر گاهی اوقات نیاز پیدا میکنند که یک بلوک کد به خصوص، چند بار پشت سر هم در طول برنامه اجرا شود. ساختاری که به برنامهنویسها اجازه این کار را میدهد loop یا حلقه های تکرارشونده نام دارد.
در زبان برنامهنویسی پایتون، به طور کلی از دو نوع حلقه استفاده میشود، حلقه while و حلقه for؛ و معمولا برای ساخت حلقه بینهایت در پایتون از while loop یا همان حلقه تکرارشونده while استفاده میشود.
بیایید با هم نگاهی به حلقه تکرارشونده while داشته باشیم و نحوه استفاده از آن برای ساخت حلقه بینهایت در پایتون را بررسی کنیم. ساختار کلی حلقه while در پایتون به این صورت میباشد.
:while expression
statement(s)
در این ساختار، عبارت (statement(s به آن بلوک کد که نیاز است به صورت تکرارشونده در برنامه اجرا شود، اشاره دارد که به آن بدنه حلقه هم میگویند. عبارت expression شرایط خاصی است که حلقه تکرارشونده نسبت به آن اجرا میشود؛ اگر شرایط برقرار بود لوپ اجرا میشود، و در غیر این صورت حلقه اجرا نشده، یا متوقف میشود.
حلقه بینهایت در پایتون معمولا وقتی به وجود میآید که شرایط مربوط به حلقه، همواره پابرجا باشد و در طول اجرای بلوک کد، تغییر نکند.
برای مثال:
x = 0
:while x < 10
print(“Hello World”)
کد بالا تا زمانی که متغیر x، از 10 کمتر باشد اجرا میشود. x مساوی صفر است و از آنجایی که ما هیچ کدی برای تغییر دادن این متغیر ننوشتهایم، پس این حلقه تا بینهایت تکرار میشود و عبارت Hello World بینهایت بار در ترمینال برای ما نمایش داده میشود.برای نوشتن حلقه در زبان برنامه نویسی پایتون نیاز داریم که بدنه حلقه را با تعدادی فاصله، زیر دستور while بنویسیم که معمولا از 4 فاصله برای تفکیک بلوک کد بدنه از بقیه کد استفاده میشود.
نکته: یکی از راه هایی به وسیله آن می توان حلقه بی نهایت را متوقف کرد فشردن دکمههای Ctrl و C به صورت همزمان است.
اگر بخواهیم با استفاده از حلقه تکرارشونده while حلقهای بسازیم که بعد از چند تکرار متوقف شود می توانیم در بدنه کد خود، دستوری بنویسیم که بعد از هر بار اجرای کد، متغیر x، تغییر پیدا کند و حلقه تا بینهایت ادامه نداشته باشد.
مثال:
x = 0
while x < 10
print(“Hello World”)
x = x + 1
کد بالا تا زمانی اجرا میشود که متغیر x، از 10 کمتر باشد. در بدنه این کد، بعد از هر بار پرینت کردن عبارت Hello World، متغیر x، یک واحد بیشتر میشود و اجرای حلقه تا زمانی ادامه پیدا میکند که x مساوی با 10 بشود. یعنی قبل از اجرای هر بار بدنه، متغیر x چک میشود و اگر شرایط برقرار بود کد اجرا شده و در غیر این صورت متوقف میشود.
خروجی کد بالا به این صورت خواهد بود:
:Output
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
عبارت Hello World، ده بار نوشته شد و پس از آن، حلقه متوقف شد زیرا بعد از دهمین تکرار کد، متغیر x، برابر با 10 شد نه کمتر از 10.
مطلب مرتبط: حلقه for در پایتون
برای کنترل حلقههای تکرارشونده در پایتون، میتوانیم از دستور break و continue استفاده کنیم.
دستور break: حلقه را فورا متوقف کرده. اگر بعد از کد مربوط به حلقه، کد دیگری داشته باشیم شروع به اجرای آن میکند. دستور continue: حلقهای که در حال اجرا است را متوقف میکند و آن حلقه را دوباره از اول اجرا می کند؛ و اگر شرایط اجرای حلقه برقرار باشد، حلقه اجرا شده و در غیر این صورت اجرا نمیشود.
مثال استفاده از دستور break در پایتون:
n = 5
:while n > 0
n = n - 1
: if n == 2
break
print(n)
print(“loop end”)
در مثال بالا، وقتی متغیر n، مساوی با 2 شود، دستور break اجرا شده و حلقه متوقف میشود.
خروجی کد بالا به این صورت خواهد بود:
:Output
4
3
loop end
در مثال بعدی ما از continue به جای break در حلقه بینهایت در پایتون استفاده میکنیم:
n = 5
:while n > 0
n = n - 1
:if n == 2
continue
print(n)
print(“loop end”)
در این مثال، وقتی متغیر n مساوی با 2 بشود، حلقهای که در حال اجرا است متوقف شده، و در صورت وجود شرایط، کد اجرا میشود. دستور continue بر خلاف break، به صورت کلی حلقه بینهایت در پایتون را متوقف نمیکند و فقط آن تکرار در حال اجرا را، متوقف کرده و سپس از اول به اجرای حلقه ادامه میدهد.
خروجی کد بالا به این صورت خواهد بود:
:Output
4
3
1
0
مطلب خواندنی: نوشتن حلقه در پایتون
سخن آخر
در این مقاله ما نگاهی به حلقه بینهایت در پایتون و نحوه استفاده و ساخت آن داشتیم. البته برای درک عمیقتر حلقه بینهایت در پایتون نیاز داریم که مثالهای بیشتری بررسی کنیم و پروژههای تمرینی بیشتری را اجرا کنیم که در آموزش پایتون برای کودکان و نوجوانان بیشتر به این موضوعات پرداخته می شود.
موسسه پل استار یک موسسه شتابدهی استعداد در حوزه برنامه نویسی کودکان و نوجوانان است. این موسسه با برگزاری دورههای برنامهنویسی، رباتیک و هوش مصنوعی مخصوص کودکان و نوجوانان باعث کشف و رشد خلاقیت کودکان و نوجوانان میشود. از این رو پیشنهاد میشود پس از مطالعه این مقاله با مشاورین این موسسه تماس حاصل فرمایید تا اطلاعات تکمیلی را دریافت نمایید.