حلقه های تکرار در پایتون چیست و چه کاربردهایی دارند؟
مقالات
سه شنبه 15 اسفند 1402
جهت مطالعه این مقاله به 10 دقیقه زمان نیاز دارید
حلقه های تکرار در پایتون چیست و چه کاربردهایی دارند؟
آنچه در این مقاله خواهیم خواند:

مقدمه


گاهی اوقات در کدنویسی نیاز داریم که یک بلوک کد به صورت پشت سر هم تکرار شود. اجرای تکرارشونده یک بلوک کد را، حلقه تکرارشونده  یا loop می‌نامند. زبان برنامه‌نویسی پایتون، امکان استفاده از دو نوع حلقه تکرارشونده یا لوپ را برایمان فراهم می‌سازد. For loop و while loop دو نوع حلقه هستند که می‌توانیم در برنامه‌نویسی به زبان پایتون از آنها استفاده کنیم. 
در حالی که هر دو نوع حلقه تکرارشونده، اعمال کم و بیش شبیه به هم را انجام می‌دهند، ولی تفاوتشان در سینتکس‌های آنها و شرایط استفاده از آنها می‌باشد. در این مقاله، ما نگاهی به حلقه‌های تکرارشونده در زبان برنامه‌نویسی پایتون می‌اندازیم و با استفاده از چند مثال، بهتر حلقه‌ها را درک می‌کنیم.

سینتکس(syntax) : علائم نشانه‌گذاری در برنامه‌نویسی را سینتکس می‌نامند.

 

While loop در پایتون


در زبان برنامه‌نویسی پایتون، while loop یکی از کاربردی‌ترین انواع حلقه‌های تکرارشونده است. این نوع حلقه برای اجرای پشت سر هم یک بلوک کد تا اینکه شرایط خاصی به وجود بیاید استفاده می‌شود. وقتی شرایط مورد نظر False شود، خطی که بلافاصله بعد از حلقه نوشته شده است اجرا می‌شود.


While loop syntax:
While expression:
   statement(s)
 

 

 

 

تمام استیتمنت‌هایی که با تعداد یکسانی  space، بعد از یک کد دستوری  از بقیه کدها تفکیک شده‌اند، عضوی از یک بلوک کد منحصربه‌فرد می‌باشند. در زبان برنامه‌نویسی پایتون، ما از فاصله‌گذاری، برای دسته‌بندی و تفکیک بلوک‌های مختلف کد از یکدیگر استفاده می‌کنیم. 
حالا می‌توانیم با چند مثال، طرز استفاده از while loop را بهتر یاد بگیریم.

 

مثال‌های while loop در پایتون


بیایید با یک مثال ساده از while loop شروع کنیم. در کد زیر ما از while loop استفاده می‌کنیم تا عبارت "Hello Geek" را سه بار پرینت کنیم. برای این کار، ما به یک متغیر افزایشی به اسم 'Count' نیاز داریم. (شما می‌توانید اسم این متغیر را به اسم دلخواه خود تغییر دهید.)
متغیر count، در واقع متغیری مربوط به عدد است که بعد از هر‌بار اجرای حلقه تکرار‌شونده، یک واحد به آن اضافه می‌شود.


Count =  0
While Count < 3:
   print(“Hello Geek”)
   Count += 1 
 

خروجی کد بالا به این صورت خواهد بود:


Output:
Hello Geek
Hello Geek
Hello Geek
 

استفاده از else همراه while loop در زبان برنامه‌نویسی پایتون


قسمت else فقط وقتی اجرا می‌شود که شرایط شما  False شود. اگر شما حلقه را بشکنید یا یک exception ایجاد شود، این قسمت اجرا نخواهد شد.


while condition:
   #execute these statements
else:
   #execute these statements
 

مثال‌های حلقه while loop همراه else


کد زیر، عبارت 'Hello Geek' را سه بار با کمک حلقه تکرارشونده while پرینت می‌کند و بعد از توقف اجرای حلقه، عبارت in else block را پرینت می‌کند. زیرا بلوک else، با حلقه while ترکیب شده است.


count = 0
while count < 3:
   count += 1 
   print(“Hello Geek”)
else:
   print(“in else block”)
 

خروجی کد بالا به این صورت خواهد بود.


Output:
Hello Geek
Hello Geek
Hello Geek
in else block
 

حلقه‌های بی‌نهایت while loop در پایتون


اگر بخواهیم که یک بلوک کد به تعداد بی‌نهایت بار تکرار شود، ما می‌توانیم از while loop برای انجام این کار استفاده کنیم.
کد زیر از حلقه  تکرارشونده while در شرایطی که متغیر count مساوی با صفر باشد استفاده می‌کند. از آنجایی که متغیر count از اول روی عدد صفر تنظیم شده است، بنابراین، حلقه نوشته شده، بی‌نهایت بار اجرا می‌شود. به دلیل اینکه شرایط هیچ‌وقت False نخواهد شد و همیشه True است.


count = 0
while count == 0 :
   print(“Hello Geek”)

 

نکته: توصیه می‌شود از لوپ‌های بی‌نهایت استفاده نکنید زیرا برای توقف حلقه تنها راه، توقف دستی برنامه است.

 

حلقه‌های for یا همان for loop در پایتون


حلقه‌های تکرارشونده for  یا for loop، برای پیمایش متوالی در زبان پایتون استفاده می‌شود. برای مثال، پیمایش در یک list یا string و یا Array.
در پایتون for به معنای" for each " است که به معنای "برای هر یک" می‌باشد.
 

 


 

 

بیایید نگاهی به طرز استفاده for loop برای پیمایش متوالی داشته باشیم:

 

for iterator_var in sequence:
   


این کد می‌تواند برای پیمایش در یک بازه مشخص یا یک  فهرست استفاده شود.

مثال:
در کد زیر از for loop برای پیمایش در بازه صفر تا سه استفاده می‌کنیم (بدون احتساب چهار). این کد به ازای هربار اجرا شدن حلقه، یکبار i را پرینت می‌کند. 


n = 4
for i in range(0, n):
   print(i)
 

خروجی کد بالا به این صورت می‌باشد.

 
Output : 
0
1
2
3
 

Nested Loops

 

زبان برنامه‌نویسی پایتون به ما اجازه می‌دهد تا از یک حلقه تکرارشونده، داخل یک حلقه تکرارشونده دیگر استفاده کنیم، که به آن nested loop یا حلقه تکرارشونده  تو‌ در تو می‌گویند. در قسمت پایین چند مثال از حلقه تکرارشونده تو در تو را با هم بررسی می‌کنیم.


Nested Loops Syntax:
for iterator_var in sequence:
   for iterator_var in sequence(s):
       sequence(s)
   sequence(s)


سینتکس بالا مربوط به nested for loops می‌باشد.

 

while expression:
   while expression:
       statement(s)
   statement(s)
 

سینتکس بالا مربوط به nested while loops می‌باشد.


نکته قابل توجه درباره استفاده از حلقه‌های تکرارشونده تو در تو این است که ما می‌توانیم هر نوع حلقه تکرارشونده را داخل هر نوع حلقه تکرارشونده دیگر قرار دهیم. برای مثال، ما می‌توانیم یک حلقه تکرارشونده while را در یک حلقه تکرارشونده for قرار دهیم یا  بالعکس.

برای مثال، کد زیر از حلقه تکرارشونده for loop برای پیمایش در بازه 1 تا 4 استفاده می‌کند و سپس، نسبت به شماره موقعیت مربوط به حلقه، همان عدد را برایمان پرینت می‌کند که نتیجه آن، شکلی مانند مثلث متشکل از اعداد مختلف خواهد بود.


from __future__ import print_function
for  i in range (1, 5):
   for j in range(1, 5):
       print(i, end= ‘ ‘)
   print()

 

Output: 
1
22
333
4444

 

کنترل حلقه‌های تکرارشونده


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


continue:
دستور continue ، کنترل حلقه تکرارشونده را به قسمت اول حلقه برمی‌گرداند.


break: 
دستور break، کنترل را از لوپ خارج می‌کند و اجرای حلقه را متوقف می‌کند.


pass: 
از دستور pass در حلقه‌های تکرارشونده پایتون برای نوشتن حلقه‌های خالی استفاده می‌شود. همچنین pass برای عبارت‌های کنترلی خالی، کلاس‌ها و اعمال می‌تواند کاربرد داشته باشد.

 

سخن آخر


ما در این مقاله، انواع لوپ‌ها و طرز استفاده آنها را در زبان برنامه‌نویسی پایتون با هم بررسی کردیم. ما دیدیم که چگونه می‌توانیم از حلقه‌های تکرارشونده  while loop، حلقه‌های for loop و nested loop در پایتون استفاده کنیم. حلقه‌های تکرارشونده در پایتون، اهمیت زیادی در برنامه‌نویسی دارد و ما با هم برخی شرایط استفاده از این حلقه‌ها را بررسی کردیم تا بتوانیم درک بهتر و جامع‌تری نسبت به حلقه‌های تکرارشونده در پایتون داشته باشیم. ولی باید حواسمان باشد که نیاز داریم برای بهتر شدن و توسعه توانایی‌های خود، تمرین‌ها و پروژه‌های مختلفی را اجرا، بررسی و تمرین کنیم.
اگر شما علاقه‌مند به یادگیری اصولی زبان برنامه‌نویسی پایتون هستید، موسسه پل استار می‌تواند به شما کمک کند.

 

منابع


https://en.wikipedia.org/wiki/For_loop
https://www.geeksforgeeks.org/loops-in-python/