حلقه های تکرار [ آموزش مقدماتی پایتون قسمت شش ]

  • آخرین بروزرسانی در پنج‌شنبه 05 نوامبر 2020

    Average rating 5 / 5. Vote count: 1

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

در قسمت ششم آموزش مقدماتی پایتون نیز قصد داریم به همین بخش مهم از زبان برنامه نویسی پایتون بپردازیم.

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

دیاگرام یا فلوچارت پایین نحوه کار یک حلقه تکرار را نشان می دهد.

ساز و کار حلقه تکرار در برنامه نویسی

در زبان پایتون انواع حلقه های تکرار وجود دارد که در جدول زیر می بینید.

شمارهنوع حلقه و توضیح
1
حلقه while یک دستور یا گروهی از دستورات را تا زمانی اجرا می کند تا شرط تعیین شده True باشد. پیش از هر بار اجرای بدنه شرط از نظر درستی بررسی می شود.
2حلقه for ترتیبی از دستورات را اجرا می کند با این تفاوت که یک ساختار خاص برای تعیین تعداد تکرار در آن وجود دارد.
3حلقه های تو در تو همان طور که از نام آن پیداست زمانی معنا پیدا می کند که یک حلقه را درون حلقه تکرار دیگری قرار دهید.

پیمایش آرایه در پایتون با حلقه تکرار

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)

کد بالا به کمک حلقه for در بین اعضای آرایه fruits پیمایش و تک تک آن ها را چاپ می کند.

در این زبان برخلاف زبان C نیاز به تعریف متغیر برای شمارش مثلا i نیست.

پیمایش کاراکتر های یک رشته با حلقه در پایتون

جالب است که بدانید String نیز در پایتون یک نوع داده قابل پیمایش (iterable) است.

for x in "banana":
  print(x)

کد بالا اعضای رشته “banana” را شمارش و چاپ می کند.

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

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

هنگامی هم که اجرای یک scope به پایان می رسد تمام object هایی که در آن scope ساخته شده اند از بین می رود.

در زبان پایتون دستورات زیر برای کنترل حلقه وجود دارد.

شمارهدستور کنترل و توضیح
1دستور break اجرای حلقه را از همان قسمت متوقف و روند اجرای دستورات را به بعد از حلقه هدایت می کند.
2دستور continue باعث می شود که اجرای دستورات بدنه حلقه در آن دور متوقف شود و دور بعدی تکرار مورد بررسی قرار بگیرد.
3دستور pass در پایتون زمانی استفاده می شود که از نظر سینتکسی لازم باشد که یک دستور داشته باشیم ولی نمی خواهیم هیچ دستوری به واقع اجرا شود. در واقع برای بدنه های خالی از این دستور استفاده می کنیم.

نمونه کاربرد دستور break

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
  if x == "banana":
    break

در کد بالا با رسیدن به خانه ای از آرایه که در آن banana قرار گرفته روند تکرار بدنه حلقه پایان می یابد.

نمونه کاربرد دستور continue

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)

در کد بالا با استفاده از دستور continue با رسیدن به خانه ای از آرایه که در آن banana قرار گرفته، آن دور از تکرار به پایان می رسد و دور جدید شروع می شود؛ در نتیجه banana چاپ نمی شود.

نمونه کاربرد دستور pass

از آن جایی که بدنه حلقه for نمی تواند خالی باشد، در صورتی که بخواهید یک حلقه for با بدنه ای بدون فعالیت تعریف کنید، می بایست از دستور pass استفاده شود.

for x in [0, 1, 2]:
  pass

تابع range در پایتون

اگر بخواهید یک قطعه کد را به تعداد مشخصی تکرار کنید، بهترین انتخاب استفاده از تابع range است.

این تابع ترتیبی از اعداد را به صورت پیشفرض با شروع از 0 و افزایش یک واحدی بر می گرداند و به یک عدد مشخص هم پایان می یابد.

for x in range(6):
  print(x)

نکته

توجه داشته باشید که در مثال بالا range(6) مقادیر 0 تا 5 را بر می گرداند و نه 0 تا 6. در واقع range(6) به معنای برگرداندن 6 عدد است و نه برگرداندن اعداد 0 تا 6 و این اعداد از 0 شروع می شود.

اگر می خواهید نقطه شروع تابع range را هم مشخص کنید می بایست دو پارامتر به این تابع بدهید. پارامتر اول نقطه شروع و پارامتر دوم نقطه پایان:

for x in range(2, 6):
  print(x)

واحد افزایشی این تابع به صورت پیشفرض 1 است اما اگر می خواهید اعداد به میزانی دیگری افزایش یابند باید پارامتر سومی به این تابع اضافه کنید.

for x in range(2, 30, 3):
  print(x)

در کد بالا اعداد از 2 شروع و تا 29 ادامه پیدا می کنند با این تفاوت که هر مرحله عدد قبلی 3 واحد به جای 1 واحد افزایش می یابد.

دستور Else در حلقه تکرار

کلیدواژه else را می توان بعد از حلقه for در پایتون استفاده کرد.

بدنه else بعد از حلقه تکرار پس از این که اجرای حلقه به پایان رسید، اجرا می شود.

for x in range(6):
  print(x)
else:
  print("Finally finished!")

کد بالا اعداد 0 تا 5 و سپس پیام Finally finished! را چاپ می کند

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

حلقه تو در تو از حلقه ای درون حلقه ای دیگر ساخته می شود.

حلقه داخلی به ازای هر بار اجرای حلقه بیرونی اجرا می شود.

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y) 

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

برای دنبال کردن نوشته های کاپ کد به کانال تلگرامی آن (cupcode_ir@) بپیوندید!
برای ثبت سفارش برنامه نویسی، طراحی وب سایت، بهینه سازی و... در کاپ کد کلیک کنید.

دیدگاه خود را بیان کنید

@