موضوع قبلی

13. رساندن روزنامه، بازبینی

موضوع بعدی

15. خلاصه

14. تکرار کن

اغلب پیش می‌آید که بخواهیم تعدادی از دستورها را به دفعات مشخّصی تکرار کنیم. در پایتون یک راه برای این کار هست. ولی، مفاهیمش زیادتر از آن چیزی هست که بخواهم الآن برایتان توضیح بدهم. من فقط کد را به شما نشان می‌دهم و بلافاصله تابع جایگزین راحت‌تر repeat که مخصوص دنیای ریبرگ هست را به جایش معرفی می‌کنم. روش معمول به عنوان حلقهٔ for شناخته شده‌است و مثل این نوشته می‌شود:

for  i  in  range(n):
    # جای
    # چند تا
    # دستور

توجه

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

در محیط ریبرگ، می‌توانیم یک حلقهٔ تکرار را مثل این بنویسیم:

repeat n:    # n   باید یک عدد صحیح  باشه
    # جای
    # چند تا
    # دستور

مثلاً این کد کاری می‌کند که ریبرگ طرح یک مربّع را بکشد:

repeat 4 :
    move()
    turn_left()

با استفاده از repeat می‌توانیم چند تا از تعریف تابع‌ها را بدون این که مجبور باشیم دستورها را تکرار کنیم بنویسیم:

def  turn_right():
    repeat  3 :
        turn_left()

بنابراین با repeat ما یک راه دیگر برای حذف تکرارها از کدهایمان داریم.

امتحانش کنید!

برنامهٔتان را برای مسئلهٔ روزنامه طوری تغییر بدهید که هر جا که کد را کوتاه‌تر می‌کند از repeat استفاده کنید. اگر برنامهٔتان را ذخیره نکرده‌اید، برگردید به درس قبل و دوباره با repeat انجامش بدهید.

برای مدرّس‌ها

دلیل من برای اضافه کردن repeat به دستورهای استاندارد پایتون جلوگیری از معرفی هم زمان ۴ تا مفهوم بود:

  1. حلقه‌ها،

  2. متغیّرهایی مثل _ که در (for  _  in  range (n هست،

  3. تابع‌های داخلی مثل ()range،

  4. و مفهوم نشانوندهای تابع (arguments).

n در repeat n عمداً طوری طرّاحی شده که باید یک عدد صحیح باشد نمی تواند یک متغیّر باشد. وقتی فراگیرها متغیّرها را یادگرفتند؛ بهتر است دستور درست پایتون برای کار با حلقه‌ها را یاد بگیرند و بی خیال repeat غیر استاندارد شوند.