آموزش پایتون - حلقه‌های تو در تو

در پایتون، وقتی یک یا چند حلقه را درون یک دستور حلقه قرار می‌دهید، به آن حلقه تو در تو (Nested Loop) می‌گویند. حلقه اصلی، حلقه بیرونی محسوب می‌شود و حلقه یا حلقه‌های داخل آن، حلقه‌های درونی نامیده می‌شوند.

زبان برنامه‌نویسی پایتون اجازه می‌دهد که از یک حلقه در داخل حلقه دیگر استفاده کنید. یک حلقه بلوکی از کد است که دستورات خاصی را به طور تکراری اجرا می‌کند. دو نوع حلقه به نام‌های for و while وجود دارد که با استفاده از آن‌ها می‌توانیم حلقه‌های تو در تو ایجاد کنیم.

شما می‌توانید هر نوع حلقه‌ای را داخل هر نوع حلقه دیگری قرار دهید. به عنوان مثال، یک حلقه for می‌تواند داخل یک حلقه while باشد یا برعکس.

حلقه for تو در تو در پایتون

یک حلقه for به همراه یک یا چند حلقه for درونی، حلقه for تو در تو نامیده می‌شود. حلقه for برای پیمایش روی عناصر هر دنباله‌ای مانند لیست، تاپل یا رشته استفاده می‌شود و عملیات یکسانی را روی هر عنصر دنباله انجام می‌دهد.

سنتکس حلقه for تو در تو در پایتون

سنتکس دستور حلقه for تو در تو در زبان برنامه‌نویسی پایتون به صورت زیر است −

for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

مثال برای حلقه for تو در تو در پایتون

برنامه زیر از یک حلقه for تو در تو برای پیمایش روی لیست‌های ماه‌ها و روزها استفاده می‌کند.

months = ["jan", "feb", "mar"]
days = ["sun", "mon", "tue"]

for x in months:
  for y in days:
    print(x, y)

print("Good bye!")

هنگامی که کد بالا اجرا می‌شود، نتیجه زیر را تولید می‌کند −

jan sun
jan mon
jan tue
feb sun
feb mon
feb tue
mar sun
mar mon
mar tue
Good bye!

حلقه while تو در تو در پایتون

یک حلقه while دارای یک یا چند حلقه while درونی، حلقه while تو در تو نامیده می‌شود. یک حلقه while برای تکرار یک بلوک کد به تعداد نامشخصی از بارها تا زمانی که عبارت بوليان مشخص‌شده درست (TRUE) شود، استفاده می‌شود.

سنتکس حلقه while تو در تو در پایتون

سنتکس دستور حلقه while تو در تو در زبان برنامه‌نویسی پایتون به صورت زیر است −

while expression:
   while expression:
      statement(s)
   statement(s)

مثال برای حلقه while تو در تو در پایتون

برنامه زیر از یک حلقه while تو در تو برای پیدا کردن اعداد اول از ۲ تا ۲۵ استفاده می‌کند −

i = 2
while(i < 25):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print (i, " is prime")
   i = i + 1

print ("Good bye!")

پس از اجرا، کد بالا خروجی زیر را تولید می‌کند −

2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
Good bye!

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.