» 10 بار. چه کنیم؟
<پیش>
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
چاپ ("سلام")
print("سلام")
اما اگر شما نه 10 بار، بلکه 20، 30، 40 بار نیاز داشته باشید، چه؟ و اگر 200 بار؟ در این صورت کپی کردن زمان بسیار زیادی طول خواهد کشید. و اگر لازم است که خود کاربر بتواند انتخاب کند که چند بار باید برخی اطلاعات را روی صفحه نمایش دهد؟
حلقه - یک ساختار الگوریتمی است که در آن توالی خاصی از دستورات چندین بار تکرار می شود.< /div>
در اکثر زبان های برنامه نویسی دو نوع حلقه وجود دارد: یک حلقه با متغیر (
for
) و یک حلقه با یک شرط (
while
)
بیایید آشنایی خود را با چرخه ها از نوع اول شروع کنیم.
حلقه با یک متغیر یا با تعداد مشخصی از مراحل (حلقه برای
)
اغلب اتفاق می افتد که تعداد تکرارهای هر عمل را می دانیم یا می توانیم با استفاده از داده های شناخته شده تعداد تکرارها را محاسبه کنیم. برخی از زبان های برنامه نویسی دستوری دارند که با دستور
به زبان روسی نوشته می شود
تکرار (تعداد_تکرار)
.
در این صورت می توانیم تعداد تکرار مشخصی را مشخص کنیم.
جالب است که ببینیم این چرخه در سطح ماشین چگونه کار می کند:
1. یک سلول حافظه خاص در حافظه اختصاص داده می شود و تعداد تکرارها روی آن نوشته می شود،
2. وقتی برنامه یک بار بدنه حلقه را اجرا می کند، محتویات این سلول (counter) یک کاهش می یابد.
3. اجرای حلقه زمانی به پایان می رسد که این سلول صفر شود.
چنین ساختاری در پایتون وجود ندارد، اما یک
for
وجود دارد.
باید به خاطر بسپارید!
شکل کلی عملگر حلقه for
به شرح زیر است:
<پیش>
برای <متغیر تعداد> در <مقادیر متغیر شمارنده>:
بدنه حلقه #
1. نام متغیر شمارنده می تواند هر چیزی باشد (بیشتر از حرف i
استفاده می کنند)
2. بدنه حلقه با یک شیفت به راست، نسبت به خط با سربرگ حلقه (for) نوشته می شود. استاندارد PEP8 با 4 فاصله جابجا می شود.
بیایید نمونه هایی از نحوه نوشتن خروجی کلمه "
سلام
» 10 بار.
مثال 1
<پیش>
برای i در محدوده (10): # برای متغیر i قابل تغییر در محدوده (در محدوده)
# 0 تا 10 (10 شامل نمی شود)
print("سلام") # print سلام
متغیر
i
شمارنده ای از تکرارها (مراحل) تکمیل شده حلقه است. در این مورد، حلقه برای
i
= 0، 1، 2، 3، 4، 5، 6، 7، 8، 9 اجرا می شود. این دقیقاً 10 برابر است.
یک برنامه می تواند متفاوت نوشته شود.
مثال 2
<پیش>
برای i در [0، 1، 2، 3، 4، 5، 6، 7، 8، 9]:
چاپ ("سلام")
در مثال 2، تمام مقادیر متغیر
i
را که باید برای آن حلقه بزنیم، فهرست می کنیم. با تعداد زیاد مقادیر، استفاده از تابع داخلی
range().
راحت تر است.
دنباله ای از مقادیر ساخته شده توسط تابع
range()
محدود است. حلقه همیشه به پایان می رسد.