گاهی اوقات در کدنویسی نیاز داریم که یک بلوک کد به صورت پشت سر هم تکرار شود. اجرای تکرارشونده یک بلوک کد را، حلقه تکرارشونده یا loop مینامند. زبان برنامهنویسی پایتون، امکان استفاده از دو نوع حلقه تکرارشونده یا لوپ را برایمان فراهم میسازد. For loop و while loop دو نوع حلقه هستند که میتوانیم در برنامهنویسی به زبان پایتون از آنها استفاده کنیم.
در حالی که هر دو نوع حلقه تکرارشونده، اعمال کم و بیش شبیه به هم را انجام میدهند، ولی تفاوتشان در سینتکسهای آنها و شرایط استفاده از آنها میباشد. در این مقاله، ما نگاهی به حلقههای تکرارشونده در زبان برنامهنویسی پایتون میاندازیم و با استفاده از چند مثال، بهتر حلقهها را درک میکنیم.
سینتکس(syntax) : علائم نشانهگذاری در برنامهنویسی را سینتکس مینامند.
در زبان برنامهنویسی پایتون، while loop یکی از کاربردیترین انواع حلقههای تکرارشونده است. این نوع حلقه برای اجرای پشت سر هم یک بلوک کد تا اینکه شرایط خاصی به وجود بیاید استفاده میشود. وقتی شرایط مورد نظر False شود، خطی که بلافاصله بعد از حلقه نوشته شده است اجرا میشود.
While loop syntax:
While expression:
statement(s)
تمام استیتمنتهایی که با تعداد یکسانی space، بعد از یک کد دستوری از بقیه کدها تفکیک شدهاند، عضوی از یک بلوک کد منحصربهفرد میباشند. در زبان برنامهنویسی پایتون، ما از فاصلهگذاری، برای دستهبندی و تفکیک بلوکهای مختلف کد از یکدیگر استفاده میکنیم.
حالا میتوانیم با چند مثال، طرز استفاده از 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 فقط وقتی اجرا میشود که شرایط شما False شود. اگر شما حلقه را بشکنید یا یک exception ایجاد شود، این قسمت اجرا نخواهد شد.
while condition:
#execute these statements
else:
#execute these statements
کد زیر، عبارت '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 در شرایطی که متغیر count مساوی با صفر باشد استفاده میکند. از آنجایی که متغیر count از اول روی عدد صفر تنظیم شده است، بنابراین، حلقه نوشته شده، بینهایت بار اجرا میشود. به دلیل اینکه شرایط هیچوقت False نخواهد شد و همیشه True است.
count = 0
while count == 0 :
print(“Hello Geek”)
نکته: توصیه میشود از لوپهای بینهایت استفاده نکنید زیرا برای توقف حلقه تنها راه، توقف دستی برنامه است.
بیشتر بخوانید: انواع حلقه در پایتون
حلقههای تکرارشونده 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 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/