حلقههای for
حلقه for برای تکرار در یک دنباله (که یک لیست، یک تاپل، یک فرهنگ لغت، یک مجموعه یا یک رشته است) استفاده می شود.
این زیاد شبیه کلمه کلیدی for در سایر زبان های برنامه نویسی نیست و بیشتر شبیه یک روش تکرارکننده است که در سایر زبان های برنامه نویسی شیء گرا استفاده می شود.
با حلقه for میتوانیم مجموعهای از دستورات را، یک بار برای هر آیتم در یک لیست، تاپل، مجموعه و غیره اجرا کنیم.
مثال
چاپ هر آیتم در لیست fruit:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
حلقه در یک رشته
عبارت break
مثال
وقتی x برابر با “banana” بود از حلقه خارج شوید:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
مثال
وقتی x برابر با “banana” بود از حلقه خارج شوید، اما این بار خروج از حلقه قبل از چاپ است:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
عبارت continue
مثال
banana را چاپ نکنید:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
تابع range()
برای حلقه زدن مجموعه ای از کدها به تعداد مشخص، می توانیم از تابع range()
استفاده کنیم.
تابع range()
دنبالهای از اعداد را برمیگرداند که به طور پیشفرض از 0 شروع میشود و به صورت پیشفرض 1 عدد افزایش مییابد و به یک عدد مشخص ختم میشود.
توجه داشته باشید که محدوده (6) مقادیر 0 تا 6 نیست، بلکه مقادیر 0 تا 5 است.
تابع range()
بهعنوان مقدار شروع بهطور پیشفرض روی 0 قرار میگیرد، اما میتوان مقدار شروع را با افزودن یک پارامتر مشخص کرد:
range(2, 6)، که به معنای مقادیر از 2 تا 6 است (اما شامل 6 نمیشود):
تابع range()
به صورت پیشفرض دنباله را 1 عدد افزایش میدهد، با این حال میتوان مقدار افزایش را با افزودن پارامتر سوم تعیین کرد: range(2، 30، 3):
عبارت else در حلقه for
کلمه کلیدی else در یک حلقه for، بلوکی از کد را مشخص می کند که باید پس از اتمام حلقه اجرا شود:
مثال
همه اعداد از 0 تا 5 را چاپ کنید و پس از پایان حلقه پیامی را چاپ کنید:
for x in range(6):
print(x)
else:
print("Finally finished!")
توجه: اگر حلقه با دستور break متوقف شود، بلوک else اجرا نخواهد شد.
مثال
وقتی x برابر با 3 شد حلقه را با break متوقف کنید و ببینید در بلوک else چه اتفاقی میافتد:
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
حلقه های تو در تو
حلقه تو در تو، حلقه ای در داخل یک حلقه دیگر است.
“حلقه داخلی” یک بار برای هر تکرار “حلقه بیرونی” اجرا می شود:
مثال
چاپ هر صفت برای هر میوه:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
عبارت pass
حلقههای for نمیتوانند خالی باشند، اما اگر به دلایلی یک حلقه for بدون محتوا دارید، برای جلوگیری از دریافت خطا، عبارت pass را قرار دهید.