حلقه for چیست؟
این حلقه هم مانند حلقه While میتواند یک قطعه کد را تکرار کند و هممه ی کاربرد های آنرا دارد.
ولی از حلقه for در خواندن و چاپ کردن یک تاپل،لیست و... اکثرا استفاده میشود.
names= ["alireza", "ali", "reza"]
for x in names:
print(x)
در for میتوان یک متغیر ایجاد کرد مانند x تا به جای مقادیر داخل لیست استفاده کرد تا آنهارا به ترتیب چاپ کند.
چاپ کردن حروف یک رشته
از طریق حلقه for به جای چاپ کردن مقادیر یک لیست یا مجموعه ، میتوان یک رشته را انتخاب کرد و کاراکتر های سازنده ی آنرا به ترتیب چاپ یا انتخاب کرد.
for x in "alireza":
print(x)
تابع range()
همانطور که در مثال های قبل دیدیم، میتوان همه یک رشته و مجموعه و لیست و... را چاپ کرد.
اکنون یاد میگیریم چطور میتوان یک محدوده ی مشخص از این داده هارا انتخاب و آنرا چاپ کنیم.
از طریق متد range() میتوان این عمل را انجام داد. به مثال زیر توجه کنید:
for x in range(10):
print(x)
مثال بالا اعداد 0 تا 9 را چاپ میکند.
نکته: در این مثال ساده متوجه میشویم که اگر محدوده این حلقه را تنها با یک عدد مشخص کنیم از 0 تا n-1 همان عدد را چاپ میکند.
ایجاد بازه در تابع range()
برای محدود کردنrange میتوان مانند مثال زیر نوشت:
for x in range(5, 9):
print(x)
با اینکار حداکثری برای range تایین میکنیم (9) تا به محض رسیدن به ان دستور متوقف شود.
پارامتر سوم range
باید بدانید که یک پارامتر دیگر برای این متد وجود دارد که نشان میدهد که این اعداد با چه مضربی جلو بروند.
به زبان ساده اینکه چندتا چندتا نوشته شوند.
for x in range(1,20,2)
print(x)
مثال بالا از عدد 1 تا 20 به صورت دوتا دوتا جلو میرود.
break و continue در for
این دستورها همانطور که میدانید در حلقه for هم کاربرد دارند.
کاربرد این دستورات همانند حلقه while است. در مثال زیر نحوه نوشتار آنهارا در حلقه for را میبینیم.
break
lang= ["Python", "SQL", "PHP" , "C++" , "C"]
for x in lang:
if x == "Python":
break
print(x)
continue
lang= ["Python", "SQL", "PHP" , "C++" , "C"]
for x in lang:
if x == "Python":
continue
print(x)
else در حلقه for
برای اجرای یک خط کد پس از به پایان رسیدن حلقه میتوان از دستور else استفاده کرد.
for x in range(4):
print(x)
else:
print("حلقه پایان یافت!")
نکته: پس از دستور break این کد اجرا نمیشود و حتما یاد حلقه خودش کامل شود.
حلقه های تو در تو
برای ایجاد این نوع حلقه ها که بسیار هم پرکاربرد هستند میتوانیم مانند مثال زیر عمل کنیم.
lang= ["Python", "SQL", "PHP"]
names= ["alireza", "ali", "reza"]
for x in lang:
for y in names:
print(x, y)
در مثال بالا هردو لیست خوانده و چاپ میشوند. برای درک بهتر به آزمایشگاه نمونه کد بالا مراجعه کنید.
pass در حلقه for
کاربرد این دستور هم مانند حلقه while است که درصورت خالی گذاشتن حلقه با خطایی روبه رو نمیشوید که در ادامه مثالی از سینتکس آن میبینیم:
for x in [alireza, ali, reza]:
pass
خلاصه درس
- حلقه ی for تکرار شونده ای مانند while است.
- در حلقه for میتوان یک محدوده را چاپ کرد از طریق تابع range().
- در این حلقه دستورات break و continue و pass قابل اجرا است.
تمرین
یک حلقه بنویسید که یک لیست را پرینت کند.
in