گاهی اوقات در کدنویسی نیاز داریم که یک بلوک کد به صورت پشت سر هم تکرار شود. اجرای تکرارشونده یک بلوک کد را، حلقه تکرارشونده یا loop مینامند. نوشتن حلقه در پایتون از اهمیت بسیاری برخوردار است. زبان برنامهنویسی پایتون، امکان استفاده از دو نوع حلقه تکرارشونده یا لوپ را برایمان فراهم میسازد. For loop و while loop دو نوع حلقه تکرار هستند که میتوانیم در برنامهنویسی به زبان پایتون از آنها استفاده کنیم.
در حالی که هر دو نوع حلقه تکرارشونده، اعمال کم و بیش شبیه به هم را انجام میدهند، ولی تفاوتشان در سینتکسهای آنها و شرایط استفاده از آنها میباشد. در این مقاله، ما نگاهی به حلقههای تکرارشونده در زبان برنامهنویسی پایتون میاندازیم و با استفاده از چند مثال، بهتر حلقهها را درک میکنیم.
حلقه while در پایتون یکی از کاربردیترین انواع حلقههای تکرارشونده است. این نوع حلقه برای اجرای پشت سر هم یک بلوک کد تا اینکه شرایط خاصی به وجود بیاید استفاده میشود. وقتی شرایط مورد نظر False شود، خطی که بلافاصله بعد از حلقه نوشته شده است اجرا میشود.
While loop syntax:
While expression:
statement(s)
تمام استیتمنتهایی که با تعداد یکسانی space، بعد از یک کد دستوری از بقیه کدها تفکیک شدهاند، عضوی از یک بلوک کد منحصربهفرد میباشند. در زبان برنامه نویسی پایتون، ما از فاصلهگذاری، برای دستهبندی و تفکیک بلوکهای مختلف کد از یکدیگر استفاده میکنیم. حالا میتوانیم با چند مثال، طرز استفاده از while loop را بهتر یاد بگیریم.
بیایید با یک مثال ساده از while loop شروع کنیم. در کد زیر ما از while loop استفاده میکنیم تا عبارت "Hello Geek" را سه بار پرینت کنیم. برای این کار، ما به یک متغیر افزایشی به اسم 'Count' نیاز داریم. (شما میتوانید اسم این متغیر را به اسم دلخواه خود تغییر دهید.)
متغیر count، در واقع متغیری مربوط به عدد است که بعد از هربار اجرای حلقه تکرارشونده، یک واحد به آن اضافه میشود.
Count = 0
While Count < 3:
print(“Hello Geek”)
Count += 1
خروجی کد بالا به این صورت خواهد بود:
Output:
Hello Geek
Hello Geek
Hello Geek
قسمت else فقط وقتی اجرا میشود که شرایط شما False شود. اگر شما حلقه را بشکنید یا یک exception ایجاد شود، این قسمت اجرا نخواهد شد.
while condition:
#execute these statements
else:
#execute these statements
کد زیر، عبارت 'Hello Geek' را سه بار با کمک حلقه تکرارشونده while پرینت میکند و بعد از توقف اجرای حلقه، عبارت in else block را پرینت میکند. زیرا بلوک else، با حلقه while ترکیب شده است.
count = 0
while count < 3:
count += 1
print(“Hello Geek”)
else:
print(“in else block”)
خروجی کد بالا به این صورت خواهد بود.
Output:
Hello Geek
Hello Geek
Hello Geek
in else block
اگر بخواهیم که یک بلوک کد به تعداد بینهایت بار تکرار شود، ما میتوانیم از while loop برای انجام این کار استفاده کنیم. کد زیر از حلقه تکرارشونده while در شرایطی که متغیر count مساوی با صفر باشد استفاده میکند. از آنجایی که متغیر count از اول روی عدد صفر تنظیم شده است، بنابراین، حلقه نوشته شده، بینهایت بار اجرا میشود. به دلیل اینکه شرایط هیچوقت False نخواهد شد و همیشه True است.
count = 0
while count == 0 :
print(“Hello Geek”)
نکته: توصیه میشود از لوپهای بینهایت استفاده نکنید زیرا برای توقف حلقه تنها راه، توقف دستی برنامه است.
بیشتر بخوانید: حلقه بی نهایت در پایتون
حلقه for در پایتون یا for loop، برای پیمایش متوالی در زبان پایتون استفاده میشود. برای مثال، پیمایش در یک list یا string و یا Array. در پایتون for به معنای" for each " است که به معنای "برای هر یک" میباشد.
بیایید نگاهی به طرز استفاده for loop برای پیمایش متوالی داشته باشیم:
for iterator_var in sequence:
این کد میتواند برای پیمایش در یک بازه مشخص یا یک فهرست استفاده شود.
مثال:
در کد زیر از for loop برای پیمایش در بازه صفر تا سه استفاده میکنیم (بدون احتساب چهار). این کد به ازای هربار اجرا شدن حلقه، یکبار i را پرینت میکند.
n = 4
for i in range(0, n):
print(i)
خروجی کد بالا به این صورت میباشد.
Output :
0
1
2
3
زبان برنامهنویسی پایتون به ما اجازه میدهد تا از یک حلقه تکرارشونده، داخل یک حلقه تکرارشونده دیگر استفاده کنیم، که به آن nested loop یا حلقه تکرارشونده تو در تو میگویند. در قسمت پایین چند مثال از حلقه تکرارشونده تو در تو را با هم بررسی میکنیم.
Nested Loops Syntax:
for iterator_var in sequence:
for iterator_var in sequence(s):
sequence(s)
sequence(s)
سینتکس بالا مربوط به nested for loops میباشد.
while expression:
while expression:
statement(s)
statement(s)
سینتکس بالا مربوط به nested while loops میباشد.
نکته قابل توجه درباره استفاده از حلقههای تکرارشونده تو در تو این است که ما میتوانیم هر نوع حلقه تکرارشونده را داخل هر نوع حلقه تکرارشونده دیگر قرار دهیم. برای مثال، ما میتوانیم یک حلقه تکرارشونده while را در یک حلقه تکرارشونده for قرار دهیم یا بالعکس.
برای مثال، کد زیر از حلقه تکرارشونده for loop برای پیمایش در بازه 1 تا 4 استفاده میکند و سپس، نسبت به شماره موقعیت مربوط به حلقه، همان عدد را برایمان پرینت میکند که نتیجه آن، شکلی مانند مثلث متشکل از اعداد مختلف خواهد بود.
from __future__ import print_function
for i in range (1, 5):
for j in range(1, 5):
print(i, end= ‘ ‘)
print()
Output:
1
22
333
4444
بیشتر بخوانید: حلقه های تو در تو در پایتون
روشهای مختلفی برای کنترل حلقههای تکرارشونده در پایتون وجود دارد که هرکدام از آنها در شرایط خاص و با هدف خاصی استفاده میشود.
دستور continue:
دستور continue ، کنترل حلقه تکرارشونده را به قسمت اول حلقه برمیگرداند.
دستور break:
دستور break، کنترل را از لوپ خارج میکند و اجرای حلقه را متوقف میکند.
دستور pass:
از دستور pass در حلقههای تکرارشونده پایتون برای نوشتن حلقههای خالی استفاده میشود. همچنین pass برای عبارتهای کنترلی خالی، کلاسها و اعمال میتواند کاربرد داشته باشد.
سخن آخر
ما در این مقاله، انواع لوپها و طرز استفاده آنها را در زبان برنامهنویسی پایتون با هم بررسی کردیم. ما دیدیم که چگونه میتوانیم از حلقههای تکرارشونده while loop، حلقههای for loop و nested loop در پایتون استفاده کنیم.
حلقههای تکرارشونده در پایتون، اهمیت زیادی در برنامهنویسی دارد و در آموزش پایتون کودکان به شدت مورد بررسی قرار می گیرد چون از مباحث اولیه پایتون است. ما با هم برخی شرایط استفاده از این حلقهها را بررسی کردیم تا بتوانیم درک بهتر و جامعتری نسبت به حلقههای تکرارشونده در پایتون داشته باشیم. ولی باید حواسمان باشد که نیاز داریم برای بهتر شدن و توسعه تواناییهای خود، تمرینها و پروژههای مختلفی را اجرا، بررسی و تمرین کنیم.
موسسه پل استار برگزار کننده دوره های تخصصی در زمینه آموزش برنامه نویسی کودکان و نوجوانان به صورت آنلاین و حضوری است. شما در صورت علاقمندی می توانید برای فرزندتان، او را در دوره برنامه نویسی پل استار ثبت نام کنید و از همین حالا آینده شغلی او را تضمین کنید