حلقه های for و while در پایتون: ساختار های Enumerate، Break، Continue
حلقه ها می توانند قسمتی از کد را بارها و بارها اجرا کنند تا شرایط خاصی برآورده شود. کاربرد آن ها نسبتاً در برنامه نویسی متداول است.
حلقه ی for چیست؟
حلقه for غالباً هنگامی استفاده می شود که یک قطعه کد را می خواهید “n” بار تکرار کنید.
حلقه while چیست؟
حلقه while برای تکرار یک بلوک کد استفاده می شود. به جای اینکه یک بار بلوک کد را اجرا کنید ، چندین بار بلوک کد را اجرا می کند تا اینکه یک شرط خاص محقق شود. در این آموزش یاد خواهیم گرفت:
- نحوه استفاده از “حلقه while”
- نحوه استفاده از “حلقه ی for”
- نحوه استفاده از حلقه for برای مجموعه موارد دیگر علاوه بر اعداد
- عبارات break در حلقه ی for
- عبارت continue در حلقه ی for
- تابع Enumerate برای حلقه ی for
- مثال عملی
- نحوه استفاده از حلقه for برای تکرار جمله یکسان
نحوه استفاده از “حلقه while “
اگرچه حلقه ی while دقیقا همان کارهایی را انجام می دهد که “شرط if ” انجام می دهد ، اما به جای اینکه یک بار بلوک کد را اجرا کنند ، کل فرآیند را تا برقراری شرایط خاصی تکرار می کند.
ساختار
while expression
Statement
مثال
#
#Example file for working with loops
#
def main():
x=0
#define a while loop
while(x <4):
print(x)
x = x+1
if __name__ == “__main__”:
main()
- کد خط ۴: به متغیر x مقدار اولیه ی ۰ داده شده است.
- کد خط ۷: حلقه while شرط x <4 را بررسی می کند. مقدار فعلی x برابر ۰ است. شرط صحیح است. جریان کنترل برنامه وارد حلقه می شود.
- کد خط ۸: مقدار x چاپ می شود.
- کد خط ۹: x یک واحد افزایش می یابد. جریان کنترل برنامه به خط ۷ برمی گردد. حال مقدار x برابر ۱ است که کمتر از ۴ است. شرط صحیح است و دوباره حلقه while اجرا می شود. این کار ادامه می یابد تا زمانی که x برابر ۴ شود ، و شرط while نادرست شود.
نحوه استفاده از “حلقه ی for “
در پایتون ” حلقه for” تکرار شونده نامیده می شود.
درست مانند حلقه while، ” حلقه for” نیز برای تکرار برنامه استفاده می شود.
اما برخلاف حلقه while که به شرایط صحیح یا نادرست بستگی دارد، “حلقه for” به عناصری برای تکرار بستگی دارد.
مثال:
#
#Example file for working with loops
#
def main():
x=0
#define a while loop
# while(x <4):
# print x
# x = x+1
#Define a for loop
for x in range(2,7):
print(x)
if __name__ == “__main__”:
main()
تکرار حلقه for با عدد تعریف شده در دامنه با استفاده از تابع ()range.
مثلا،
حلقه for برای x در محدوده (۲،۷)
با اجرای این کد ، اعداد بین ۲ تا ۷ (۲،۳،۴،۵،۶) چاپ می شوند. در این کد شماره ۷ در محدوده در نظر گرفته نشده است.
از حلقه for می توانید برای مجموعه ای از موارد دیگر هم استفاده کنید، نه فقط اعداد.
نحوه استفاده از حلقه for برای رشته ها
در این مرحله خواهیم دید که علاوه بر اعداد چگونه می توان در موارد دیگر نیز از ” حلقه for” استفاده کرد.
مثال:
def main():
#use a for loop over a collection
Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
for m in Months:
print(m)
if __name__ == “__main__”:
main()
کد خط ۳: متغیر months را مقدار دهی کردیم.
کد خط ۴: حلقه را برای هر مقدار در months تکرار می کنیم. مقدار فعلی months در متغیر m ذخیره شده است.
کد خط ۵: ماه را چاپ می کند.
نحوه استفاده از عبارت break در حلقه for
Breakpoint یک عملکرد منحصر به فرد در حلقه for است که به شما امکان می دهد اجرای حلقه for را خاتمه دهید.
مثال:
def main():
#use a for loop over a collection
#Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
#for m in Months:
#print m
# use the break and continue statements
for x in range (10,20):
if (x == 15): break
#if (x % 2 == 0) : continue
print(x)
if __name__ == “__main__”:
main()
در این مثال ، اعداد را در محدوده ۱۰تا۲۰ تعریف کردیم ، اما می خواهیم حلقه در شماره ۱۵ خاتمه یابد و اجرای بیشتر متوقف شود. برای این کار ، با بررسی شرط (x == 15) تابع break را اعلام می کنیم. بنابراین به محض اینکه کد به عدد ۱۵ رسید، برنامه را خاتمه می دهد.
- کد خط ۱۰ متغیر x را در محدوده (۲۰ ، ۱۰) اعلام می کند.
- کد خط ۱۱ شرط Break را در x == 15 اعلام می کند.
- کد خط ۱۲ مراحل را تا زمانی که به عدد ۱۵ برسد ، بررسی و تکرار می کند.
- کد خط ۱۳ نتیجه را به صورت خروجی چاپ می کند.
نحوه استفاده از “عبارت continue” در حلقه for
تابع continue ، همانطور که از نام آن پیداست ، تکرار فعلی حلقه را خاتمه می دهد اما به اجرای تکرارهای باقی مانده ادامه خواهد داد.
مثال
def main():
#use a for loop over a collection
#Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
#for m in Months:
#print m
# use the break and continue statements
for x in range (10,20):
#if (x == 15): break
if (x % 5 == 0) : continue
print(x)
if __name__ == “__main__”:
main()
وقتی می خواهید مقدار خاصی را از لیست دریافت کنید ، می توان از عبارت continue در حلقه for استفاده کرد.
در مثال محدوده ۲۰-۱۰ را تعریف کرده ایم ، اما بین این عددها فقط می خواهیم اعدادی را که به ۵ بخش پذیرند مشخص کنیم.
بنابراین ، در این محدوده فقط ۳ عدد (۱۰،۱۵،۲۰) به ۵ پخش پذیرند.
بنابراین حلقه فقط برای اعداد ۱۰،۱۵ و ۲۰ ، ادامه خواهد یافت و آن عدد را به عنوان خروجی چاپ می کند.
- خط کد ۱۰ متغیر x را در دامنه (۲۰ ، ۱۰) تعریف می کند.
- خط کد ۱۲ شرط x%5==0 را بررسی می کند.
- خط کد ۱۳ نتیجه را چاپ می کند.
نحوه استفاده از تابع ” enumerate” برای حلقه for
enumerate در حلقه for دو کار انجام می دهد:
- شاخص عدد را برای عضو برمی گرداند
- عضو مجموعه ای که در حال بررسی آن هستیم
مثال:
تابع enumerate برای شماره گذاری یا شاخص گذاری اعضای موجود در لیست استفاده می شود.
فرض کنید ، می خواهیم برای ماه شماره گذاری کنیم (ژانویه ، فوریه ، مارس ، …. ژوئن) ، بنابراین متغیر i را تعریف می کنیم که اعداد را ذکر می کند در حالی که m تعداد ماه ها را در لیست چاپ می کند.
def main():
#use a for loop over a collection
Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
for i, m in enumerate (Months):
print(i,m)
# use the break and continue statements
#for x in range (10,20):
#if (x == 15): break
#if (x % 5 == 0) : continue
#print x
if __name__ == “__main__”:
main()
با اجرای کد ، خروجی تابع enumerate نام ماه ها را با شماره شاخص مانند (۰_Jan) ، (۱_Feb) ، (۲_March) و غیره برمی گرداند.
- کد خط ۳ لیست ماه ها را تعریف می کند [ژانویه ، فوریه ، … ژوئن]
- کد خط ۴ متغیر i و m را برای حلقه for تعریف می کند.
- کد خط ۵ نتیجه را چاپ می کند و مجددا برای شاخص گذاری سایر ماه ها وارد حلقه for می شود.
مثال عملی
بگذارید مثال دیگری از حلقه for برای تکرار جمله یکسان بزنیم.
نحوه استفاده از حلقه for برای تکرار جمله یکسان
می توانید برای تکرار جمله یکسان از حلقه استفاده کنید. در این مثال ، ما سه بار کلمه “guru99” را چاپ کرده ایم.
مثال: برای تکرار عبارات یکسان ، متغیر
i (i in 123)
را تعریف کردیم. بنابراین وقتی کد را مطابق شکل زیر اجرا می کنید ، عبارت (guru99) را چاپ می کند که در این مثال عدد اعلام شده برای متغیر (i in 123) است.
for i in ‘123’:
print “guru99”,i,
پایتون نیز مانند سایر زبان های برنامه نویسی از حلقه استفاده می کند اما به جای استفاده از طیف وسیعی از حلقه های مختلف ، فقط به دو حلقه “while” و “for” محدود می شود.
- حلقه while براساس درستی یا نادرستی بیان شرط اجرا می شود.
- حلقه for تکرار شونده است ، به عناصری برای تکرار بستگی دارد.
- حلقه for همچنین می تواند برای مجموعه ای از موارد مختلف دیگر نیز استفاده شود (مشخص کردن مجموعه عناصر مورد نظر برای پیاده سازی حلقه روی آن ها)
- Breakpoint در حلقه for برای خاتمه برنامه در هر نقطه خاص استفاده می شود.
- عبارت continue به چاپ عبارت ادامه خواهد داد و نتیجه را مطابق شرط تنظیم شده چاپ می کند.
- تابع Enumerate در حلقه for عضو مجموعه ای را که با شاخص عددی(index) در حال جستجوی آن هستیم ، برمی گرداند.
مثال پایتون ۲
در بالا کد ها مثال های پایتون ۳ هستند ، اگر می خواهید در پایتون ۲ اجرا کنید ، لطفا کد زیر را در نظر بگیرید.
# How to use “While Loop”
#Example file for working with loops
#
def main():
x=0
#define a while loop
while(x <4):
print x
x = x+1
if __name__ == “__main__”:
main()
#How to use “For Loop”
#Example file for working with loops
#
def main():
x=0
#define a while loop
# while(x <4):
# print x
# x = x+1
#Define a for loop
for x in range(2,7):
print x
if __name__ == “__main__”:
main()
#How to use For Loop for String
def main():
#use a for loop over a collection
Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
for m in Months:
print m
if __name__ == “__main__”:
main()
#How to use break statements in For Loop
def main():
#use a for loop over a collection
#Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
#for m in Months:
#print m
# use the break and continue statements
for x in range (10,20):
if (x == 15): break
#if (x % 2 == 0) : continue
print x
if __name__ == “__main__”:
main()
#How to use “continue statement” in For Loop
def main():
#use a for loop over a collection
#Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
#for m in Months:
#print m
# use the break and continue statements
for x in range (10,20):
#if (x == 15): break
if (x % 5 == 0) : continue
print x
if __name__ == “__main__”:
main()
#How to use “enumerate” function for “For Loop”
def main():
#use a for loop over a collection
Months = [“Jan”,”Feb”,”Mar”,”April”,”May”,”June”]
for i, m in enumerate (Months):
print i,m
# use the break and continue statements
#for x in range (10,20):
#if (x == 15): break
#if (x % 5 == 0) : continue
#print x
if __name__ == “__main__”:
main()