آموزش حلقه for در پایتون
منبع: https://rasanika.com
با حلقه for
میتوانیم مجموعهای از دستورات را، یک بار به ازای هر آیتم لیست، تاپل، دیکشنری و ... اجرا کنیم.
مثال
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
حلقه for
نیازی به تعریف متغیر از قبل، (مثل حلقه while) ندارد.
حلقه زدن روی یک رشته
حتی رشته ها نیز اشیای تکرار شونده هستند، آنها حاوی یک دنباله از کاراکترها می باشند و میتوانیم روی آنها حلقه بزنیم:
مثال
for x in "banana":
print(x)
دستور break
با دستور break میتوانیم حلقه را قبل از اینکه تمام آیتمها را طی کند متوقف کنیم:
مثال
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
دستور continue
با دستور continue میتوانیم اجرای دستورات فعلی را متوقف کرده و به آیتم بعدی برویم:
مثال
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
تابع range()
با استفاده از تابع range()
میتوانیم به تعداد دفعات لازم، مجموعهای از دستورات را تکرار کنیم.
تابع range()
دنباله ای از اعداد را برمی گرداند که به طور پیش فرض از 0 شروع می شود و به صورت پیش فرض 1 عدد افزایش می یابد و به یک عدد مشخص ختم می شود.
مثال
for x in range(6):
print(x)
توجه داشته باشید که در مثال بالا مقادیر از 0 تا 6 نیست، بلکه مقادیر از 0 تا 5 است.
تابع range()
بهطور پیشفرض از 0 شروع میشود، اما میتوان با اضافه کردن یک پارامتر دیگر، مقدار شروع را نیز مشخص کرد: مثلا range(2, 6)
به معنای مقادیر از 2 تا 5 است.
مثال
for x in range(2, 6):
print(x)
همچنین با اضافه کردن پارامتر سوم میتوانیم مقدار افزایش را نیز کنترل کنیم.
مثال
دنباله را با عدد 3 افزایش دهید (پیش فرض 1 است):
for x in range(2, 30, 3):
print(x)
دستور else در حلقه for
کلیدواژه else
در یک حلقه for
مجموعهای از دستورات را مشخص می کند که باید پس از اتمام حلقه اجرا شود:
مثال
همه اعداد از 0 تا 5 را چاپ کنید و پس از پایان حلقه پیامی را چاپ کنید:
for x in range(6):
print(x)
else:
print("Finally finished!")
اگر حلقه توسط یک 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
نمیتوانند خالی باشند، اما اگر به هر دلیلی حلقهای بدون محتوا دارید، برای جلوگیری از خطا میتوانید از pass
استفاده کنید.
مثال
for x in [0, 1, 2]:
pass