اغلب پیش میآید که بخواهیم تعدادی از دستورها را به دفعات مشخّصی تکرار کنیم. در پایتون یک راه برای این کار هست. ولی، مفاهیمش زیادتر از آن چیزی هست که بخواهم الآن برایتان توضیح بدهم. من فقط کد را به شما نشان میدهم و بلافاصله تابع جایگزین راحتتر 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
به دستورهای استاندارد پایتون جلوگیری از معرفی هم زمان ۴ تا مفهوم بود:
حلقهها،
متغیّرهایی مثل
_
که در(for _ in range (n
هست،تابعهای داخلی مثل
()range
،و مفهوم نشانوندهای تابع (arguments).
n
در
repeat n
عمداً طوری طرّاحی شده که باید یک عدد صحیح باشد نمی تواند یک متغیّر باشد. وقتی فراگیرها متغیّرها را یادگرفتند؛ بهتر است دستور درست پایتون برای کار با حلقهها را یاد بگیرند و بی خیال repeat
غیر استاندارد شوند.