حلقه یا loop در برنامهنویسی، برای اجرای پشت سر هم یک بلوک کد با هدفی مشخص استفاده میشود. در زبان برنامهنویسی پایتون، به طور کلی، دو نوع حلقه وجود دارد که حلقههای for و حلقههای while میباشند (for loops and while loops).
ما میتوانیم با استفاده و ترکیب این دو نوع حلقه، حلقههای تو در تو بسازیم. به این نوع حلقهها nested loops میگویند. حلقههای تو در تو در پایتون به معنای حلقهای داخل حلقه دیگر میباشد. مثلا، حلقه for داخل حلقه while، حلقه for داخل حلقه for و…
سینتکس (syntax): علائم نشانهگذاری و قواعد نوشتن کد مربوط به یک زبان برنامه نویسی خاص را سینتکس میگویند که برای حلقه های تو در تو در پایتون به صورت زیر است:
Outer_loop_Expression:
Inner_loop_Expression:
Statement inside inner_loop
Statement inside outer_loop
بیشتر بخوانید: انواع حلقه در پایتون
با یک مثال پایهای از حلقههای تو در تو در پایتون شروع میکنیم:
x = [1, 2]
y = [4, 5]
for i in x:
for j in y:
print(i, j)
کد بالا با استفاده از حلقه لوپ، عنصر اول لیست (x) را در کنار عنصر اول لیست (y) قرار میدهد و آن را پرینت میکند. سپس عنصر اول لیست (x) را کنار عنصر دوم لیست (y) قرار میدهد و پرینت میکند. این کار را برای تمام عناصر لیست (x)، انجام میدهد و خروجی به صورت زیر به ما نمایش داده میشود.
Output:
1 4
1 5
2 4
2 5
مثال دیگری از حلقههای تو در تو در پایتون را بررسی میکنیم:
for i in range(2, 4):
for j in range(1, 5):
print(i, 'x', j, "=", i*j)
print()
کد بالا با استفاده از حلقههای تو در تو در پایتون، در حلقه بیرونی، به ازای اعداد در بازه 2 تا 3، برای هر عدد آن را یک بار ضرب در بازه اعداد حلقه داخلی 1 تا 4 میکند. سپس خروجی را همانطور که در کد نوشتیم برایمان پرینت میکند. خروجی کد بالا به این صورت خواهد بود.
Output:
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
بیشتر بخوانید: حلقه بی نهایت در پایتون
list1 = ['I am ', 'You are ']
list2 = ['healthy', 'fine', 'great']
for item in list1:
print('start')
i = 0
while i < len(list2):
print(item,list2[i] )
i += 1
print('end')
در کد بالا، به ازای هر عنصر از list1، لوپ while اجرا میشود. در این مثال از حلقه for به عنوان حلقه خارجی و از حلقه while به عنوان حلقه داخلی استفاده شده است. در حلقه داخلی while، با استفاده از متغیر شمارشگر i ، عنصر اول list1 را در کنار عنصر اول list2 قرار میدهد و آن را پرینت میکند و به متغیر شمارشگر i، یک واحد اضافه میکند.
سپس عنصر اول list1 را کنار عنصر دوم list2 قرار میدهد و به متغیر شمارشگر i، یک واحد اضافه میکند. این کار را تا زمانی تکرار میکند که تمام عناصر list2 یک بار کنار عنصر اول list1 قرار بگیرند. سپس دوباره حلقه داخلی اجرا میشود و این بار برای عنصر دوم list1، پروسه مربوط به حلقه داخلی while را اجرا میکند، و در نهایت خروجی به این صورت خواهد بود.
Output:
start
i am healthy
i am fine
i am great
end
start
you are healthy
you are fine
you are great
end
مطلب مرتبط: حلقه for در پایتون
دستور break یکی از راههای کنترل حلقه در پایتون است ما میتوانیم از دستور break برای خروج از حلقه استفاده کنیم. وقتی از break استفاده میکنیم، حلقه پایان مییابد.
مثال استفاده از دستور break داخل حلقههای تو در تو:
for i in range(2, 4):
for j in range(1,11):
if i == j:
break
print(i, "x", j, "=", i*j)
print()
ما در کد بالا از دستور break در حلقه داخلی استفاده میکنیم. هر وقت متغیر i با متغیر j یکسان شود، حلقه داخلی پایان مییابد.
خروجی کد بالا به این صورت خواهد بود:
Output :
2 x 1 = 2
3 x 1 = 3
3 x 2 = 6
مطلب مرتبط: حلقه while در پایتون
سخن آخر
در این مقاله ما نگاهی به حلقههای تو در تو، در پایتون داشتیم و با چند مثال یاد گرفتیم که چگونه میتوانیم از این نوع حلقهها استفاده کنیم. همچنین یکی از راهکارهای کنترل حلقه را شناختیم. برای درک عمیقتر حلقههای تو در تو در پایتون، نیاز به بررسی و اجرای تمرینها و پروژههای گوناگون داریم.
دانستن راههای مختلف بکار بردن حلقهها در پایتون امری ضروری است و حتما به آن نیاز پیدا خواهیم کرد. اگر شما علاقهمند به یادگیری فرزنداتان در زمینه اصولی زبان برنامهنویسی پایتون هستید، می توانید در دوره آموزش برنامه نویسی کودکان و نوجوانان موسسه پل استار شرکت کنید.