جلسه دهم دوره آموزشی Python – حلقه ها در پایتون

مقدمه

در جلسه دهم از دوره آموزشی پایتو قصد داریم یکی از مباحث بسیار مهم در برنامه نویسی و این زبان را با یکدیگر یاد بگیریم. این مبحث ، مبحث حلقه هاست و در برنامه نویسی پایتون و سایر زبان های برنامه نویسی از اهمیت ویژه ای برخوردار است. مثل همیشه پیشنهاد می شود برای درک بهتر این جلسه حتما جلسات قبل این دوره را از لینک های زیر مطالعه کنید:

نکته : دوستان عزیز ، خواندن این جلسه به تنهایی کافی نمی باشد و یادگیری عمیقی برای شما ایجاد نخواهد کرد. لطفا یک ادیتور باز کنید و تمامی کدهایی که در ادامه جلسه آورده می شوند را خودتان امتحان کنید و گام به گام با آموزش پیش بروید تا تمامی این آموزش ها را یک بار برای همیشه یاد بگیرید. 

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

در پایتون تنها دو حلقه وجود دارد. حلقه for و حلقه while.  در زیر ما هر کدام از این حلقه ها را به تفکیک مثال آورده ایم. 

توضیح حلقه for : 

syntax مربوط به این حلقه در زیر آورده شده است:

for i in iterable_object:
   # do something

در حلقه بالا i متغیری است که مقادیر موجود در iterable_object را به خود می گیرد. نکته ی مهمی که باید به آن توجه کنیم این است که همه دستورهای داخل حلقه for ( و حلقه while) باید کمی تورفتگی نسبت به کلمه for داشته باشند. در غیر این صورت با Syntax Error مواجه می شویم. برای فهم بهتر این موضوع به مثال زیر توجه کنید:

my_list = [1,2,3,4]
 
for i in my_list:
    print(i)

اگر کد بالا را اجرا کنیم همانطور که انتظار داریم ، نتیجه خروجی به صورت زیر خواهد بود:

1
2
3
4

توضیح دقیق نحوه کار این حلقه در زیر اورده شده است:

در تکرار اول مقدار i برابر 1 می شود و سپس دستور print عبارت i انجام می شود. در تکرار دوم مقدار i برابر 2 می شود و دوباره عملیات پرینت i انجام می شود. این فرایند تا وقتی ادامه پیدا می کند که به آخرین المان لیست برسیم و بعد از آن المانی در لیست موجود نباشد. 

معرفی تابع (range(a , b : 

این تابع ، تابعی است که از a تا b-1 را در خروجی خود برای ما قرار می دهد. مثال زیر این موضوع را بهتر مشخص میکند:

for i in range(1, 10):
    print(i)

اگر کد بالا را اجرا کنیم ، نتیجه خروجی به صورت زیر خواهد بود: 

1
2
3
4
5
6
7
8
9

همانطور که در بالا مشاهده می کنید از 1 تا یک عدد قبل از 10 ( یعنی 9) را برای ما بر میگرداند. البته میتوان از این تابع به صورت 1 ورودی هم استفاده کرد. مثل در ورودی آن فقط عددی مثل 10 نوشت. در این صورت از 0 تا 9 را برای ما در خروجی بر میگرداند. مثال زیر گویای همه چیز است:

for i in range(10):
    print(i)

خروجی این کد به صورت زیر می باشد:

0
1
2
3
4
5
6
7
8
9

این تابع به صورتی دیگر هم استفاده می شود. صورت دیگر استفاده از این تابع ، استفاده از یک پارامتر سوم است که آن پارامتر اندازه گام ها را مشخص می کند. مثل اگر پارامتر اول و دوم این تابع 1 و 10 باشد و پارامتر سوم این تابع برابر 2 باشد در این صورت خروجی این تابع به صورت 1 و 3 و 5 و 7 و 9 می باشد. همین توضیحات را در مثال زیر می توانید ببینید:

for i in range(1, 20, 2):
    print(i)

که خروجی مورد نظر ما ، مطابق آن چه گفته شد به صورت زیر است:

1
3
5
7
9
11
13
15
17
19

حلقه while : 

Syntax حلقه while به صورت زیر می باشد:

while condition:
    # do something

حلقه while تا زمانی اجرا می شود که شرط آن درست باشد. به محض این که شرط این حلقه اشتباه بود ، داخل این حلقه اجرا نمی شود. به عبارت ساده تر در هر بار اجرا ، ابتدا شرط چک می شود و در صورت صحیح بودن شرط حلقه اجرا می شود. پس از پایان حلقه ، دوباره به اول حلقه برمیرگردیم و دوباره شرط را چک میکنیم  و در صورت صحیح بودن آن را اجرا میکنیم و این کار را تا وقتی ادامه می دهیم که شرط غلط شد. 

مثل حلقه for اجازه دهید در این جا نیز برای روشن تر شدن بحث مثالی ارایه دهیم:

count = 0
 
while count < 10:
    print(count)
    count += 1

در کد بالا ابتدا مقدار count برابر صفر قرار میگیرد و سپس چک می شود که آیا این مقدار کوچکتر از 10 است یا خیر. اگر این مقدار کوچکتر از 10 بود ، مقدار count  را چاپ می کند و یک عدد به مقدار count اضافه می کند. در گام بعد مقدار count برابر 1 است. بنابراین همچنان از 10 کوچکتر است و شرط صحیح می باشد. بنابراین دوباره مقدار count چاپ می شود و یک واحد به آن اضافه می شود. این کار را تا وقتی ادامه پیدا می کند که مقدار count  از 10 کوچکتر باشد. به محظ این که این مقدار به عدد 10 برسد حلقه دیگر اجرا نمی شود و برنامه پایان می پذیرد.

دستور break

دستور break باعث می شود که برنامه از حلقه خارج شود و دستورات پس از حلقه اجرا شوند. برای درک بهتر این دستور بهتر است مثالی بزنیم:

count = 0
 
while count < 10:
    count += 1
    if count == 5:
         break    
    print("inside loop", count)
 
 
print("out of while loop")

اگر این کد را اجرا کنیم نتیجه خروجی به صورت زیر خواهد بود:

inside loop 1
inside loop 2
inside loop 3
inside loop 4
out of while loop

همانطور که می بیند تا وقتی که مقدار count به عدد 5 نرسیده بود ، برنامه به صورت عادی اجرا می شود. به محض این که مقدار count به 5 رسید ، دستور if اجرا می شود و به دستور break میرسیم. این باعث می شود که ما از حلقه خارج شویم و دستورات بعد از حلقه را اجرا کنیم. 

دستور continue

در یک حلقه ما وقتی به عبارت continue میرسیم ، از دستورات داخل آن حلقه ( تنها در همین دفعه ) عبور می کنیم و به ابتدای حلقه بر میگردیم. توجه داشته باشید که حلقه در این حالت پایان نمی پذیرد. بلکه صرفا در آن تکرار ، دستورات موجود در آن ( که پس از دستور Continue) آمده اند ، اجرا نمی شوند و سپس به حلقه یه گام به جلو میرود. مثالی از این عبارت در  زیر آورده  شده است :

count = 0
 
while count < 10:
    count += 1
    if count % 2 == 0:
           continue
    print(count)

در کد بالا حلقه while به طور عادی اجرا می شود مگر آن مقدار count بر 2 بخش پذیر باشد. در این حالت ادامه حلقه اجرا نمی شود و به ابتدای حلقه باز میگردیم. انتظار داریم در صورت اجرای این حلقه اعداد 1 و 3 و 5 و 7 و 9 را در خروجی مشاهده کنیم. در صورت اجرای این کد خواهیم داشت:

1
3
5
7
9

خوب دوستان برای این جلسه هم کافی است. در جلسه بعد وارد بحث توابع در پایتون می شویم. مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:

اشتراک گذاری:
مطالب زیر را حتما بخوانید

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • من دنبال کانکتور میکرودات میگردم. از کجا میتونم تهیه کنم؟

    • سلام و احترام
      این کانکتور را می توانید از فروشگاههای متعددی خرید کنید. در صورتی که در تهران ساکن هستید می توانید از پاساژهای امجد و عباسیان و… این کانکتور را خریداری کنید.
      موفق باشید

دیدگاهتان را بنویسید