مثال 20: استفاده از حلقه for
دراین مثال در مورد حلقه ی for و تابع range صحبت میکنیم و این مثال شامل بخشی از محتوای آموزشی هم میشه. حتما علاوه بر انجام مثال تمام متن رو بخونید و ویدیو رو هم ببینید. این مثال رو در ژوپیتر نوت بوک انجام دهید:
1- کاراکتر های رشته ی 'Portland' را در خروجی نمایش دهید:
for i in 'Portland':
print(i)
در خروجی این کد باید کاراکتر های زیر را مشاهده کنید:
P
o
r
t
l
a
n
d
کلمه کلیدی for معمولا به همراه کلمه کلیدی in بکار گرفته می شود. متغیر i در کد بالا نیز یک اعلام عمومی است و هر نام قابل قبول دیگری نیز میتواند داشته باشد. عبارت for i in به این معناست که پایتون بررسی خواهد کرد که المان هایی که بعد از این عبارت می آیند به چه ترتیبی هستند و آنها را به ترتیب تکرار حلقه در i قرار می دهد. تمام آبجکت های پایتون که قابل index شدن هستند را میتوان پس از عبارت for i in قرار داد. مثلا در کد بالا میدانیم که رشته قابلیت index شدن دارد و هر کاراکتر رشته index مربوط به خود را دارد، پس با نوشتن حلقه ی بالا پایتون از کاراکتر اول(شماره صفر) شروع کرده و در هر مرحله مقدار i را برابر با هرکدام از کاراکتر های رشته قرار میدهد.
حالا فرض کنید که بخواهیم با یک رِنج عددی کار خاصی انجام دهیم! از حلقه های for برای این کار نیز استفاده می شود. در پایتون تابع range وجود دارد که برای ما یک دسته از اعدادی که میخواهیم را ایجاد کند. در باقی سلول های زیر کاربرد range و نحوه ی بکار گیری آنرا در شرایط مختلف مشاهده می کنید.
2- از تابع range استفاده میکنیم. باند پایین آنرا برابر با 1 و باند بالای آنرا برابر با 10 قرار میدهیم تا اعداد 1 تا 9 را در خروجی ببینیم:
for i in range(1,10):
print(i)
در خروجی باید اعداد را به شکل زیر مشاهده کنیم:
1
2
3
4
5
6
7
8
9
دقت کنید که باند بالای تابع range توسط تابع ایجاد نمی شود.
3- تابع range را تنها با یک ورودی هم میتوان نوشت:
for i in range(10):
print(i)
در این حالت شمارش از صفر آغاز می شود و عدد ورودی تابع نماینده ی باند بالای تابع است:
0
1
2
3
4
5
6
7
8
9
4- تابع range این قابلیت را هم دارد تا اعداد را با پله های منظم بشمارد:
for i in range(1, 11, 2):
print(i)
در خروجی این سلول مشاهده میکنیم:
1
3
5
7
9
5- همچنین پله ی شمارش میتواند منفی باشد:
for i in range(3, 0, -1):
print(i)
خروجی:
3
2
1
زمانی که از شرط ها و یا حلقه ها در داخل یک دیگر استفاده میکنیم اصطلاحا به صورت تو در تو ( nested ) آنها را بکار میبریم.
6- در این سلول حروف یک اسم را 3 بار در خروجی نمایش میدهیم:
name = 'Corey'
for i in range(3):
for i in name:
print(i)
در خروجی خواهیم داشت:
C
o
r
e
y
C
o
r
e
y
C
o
r
e
y