خانه
گاما

حلقه for و range: دستور تکرار و تابع تولید دنباله عددی برای تعیین تعداد اجرای یک بلاک کد.

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/14
تعداد بازدید173
حلقه for و range: دستور تکرار و تابع تولید دنباله عددی برای تعیین تعداد اجرای یک بلاک کد.

حلقه for و range: دستور تکرار و تولید دنباله عددی برای تعیین تعداد اجرای یک بلاک کد

آشنایی با حلقه for و تابع range برای کنترل تعداد دفعات اجرای دستورها در برنامه‌نویسی
در برنامه‌نویسی، گاهی نیاز داریم یک دستور یا یک بلاک کد را چندین بار پشت سر هم اجرا کنیم. حلقه for همراه با تابع range دقیقاً این کار را برای ما انجام می‌دهند. با استفاده از این دو ابزار، می‌توانیم تعداد دفعات تکرار را مشخص کنیم و کاری کنیم که کامپیوتر کارهای تکراری را به‌جای ما انجام دهد. در این مقاله با مفهوم حلقه for، نحوهٔ کار با تابع range و کاربردهای آن در زندگی روزمره آشنا می‌شویم.

حلقه for چیست و چگونه کار می‌کند؟

حلقه for یکی از دستورهای تکرار در برنامه‌نویسی است که به ما اجازه می‌دهد یک بلاک کد را به تعداد مشخصی بار اجرا کنیم. این حلقه معمولاً با یک متغیر شمارنده کار می‌کند که در هر بار اجرا، مقدار آن تغییر می‌کند. برای مثال، اگر بخواهیم پنج بار عبارت «سلام دنیا» را چاپ کنیم، به‌جای نوشتن پنج دستور جداگانه، می‌توانیم از یک حلقه for استفاده کنیم که دقیقاً پنج بار اجرا می‌شود.

ساختار کلی حلقه for شامل سه بخش اصلی است: مقدار اولیه برای شمارنده، شرط ادامهٔ حلقه و مقدار افزایش شمارنده. اما در زبان‌های برنامه‌نویسی مدرن، معمولاً از تابع range برای تولید دنبالهٔ اعداد استفاده می‌کنیم که کار را بسیار ساده‌تر می‌کند. به‌جای اینکه خودمان شرط و افزایش را بنویسیم، فقط کافی است به تابع range بگوییم که از چه عددی شروع کند و به چه عددی ختم شود.

نکته: در حلقه for، متغیر شمارنده در هر بار تکرار، یک مقدار جدید از دنباله‌ای که range تولید می‌کند را می‌گیرد و بلاک کد با آن مقدار جدید اجرا می‌شود. این کار تا زمانی ادامه پیدا می‌کند که به انتهای دنباله برسیم.

کاربردهای جذاب حلقه for در زندگی روزمره

شاید فکر کنید حلقه for فقط برای برنامه‌نویسان حرفه‌ای مفید است، اما در حقیقت ما هر روز از مفهوم تکرار در کارهای روزمره استفاده می‌کنیم. مثلاً وقتی می‌خواهیم برای یک مهمانی، لیست خرید را مرور کنیم و هر کالا را به سبد خرید اضافه کنیم، در واقع داریم از یک حلقه استفاده می‌کنیم. یا وقتی معلم در کلاس، نمرات همهٔ دانش‌آموزان را یک‌یک اعلام می‌کند، این کار هم نوعی تکرار است.

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

نوع تابع range مثال تعداد اجراها
فقط عدد پایان range(5) 0 تا 4 (پنج بار)
عدد شروع و پایان range(2, 7) 2 تا 6 (پنج بار)
شروع، پایان و گام range(0, 10, 2) 0, 2, 4, 6, 8 (پنج بار)

پرسش‌های چالشی دربارهٔ حلقه for و range

پرسش ۱: آیا عدد پایان در range حتماً باید بزرگ‌تر از عدد شروع باشد؟

خیر، لزوماً اینطور نیست. اگر عدد شروع از عدد پایان بزرگ‌تر باشد، تابع range یک دنبالهٔ خالی تولید می‌کند و حلقه هیچ بار اجرا نمی‌شود. اما با استفاده از گام منفی، می‌توانیم دنباله‌ای نزولی ایجاد کنیم. مثلاً range(10, 0, -2) اعداد 10، 8، 6، 4 و 2 را تولید می‌کند.

پرسش ۲: اگر در حلقه for متغیر شمارنده را تغییر دهم، چه اتفاقی می‌افتد؟

در بسیاری از زبان‌های برنامه‌نویسی، تغییر دادن متغیر شمارنده در داخل حلقه، تأثیری بر تعداد دفعات اجرای حلقه ندارد، زیرا حلقه بر اساس دنبالهٔ اصلی که range تولید کرده، کار می‌کند. اما این کار اصلاً توصیه نمی‌شود، چون باعث گیج‌کننده شدن کد می‌شود و ممکن است اشکالات عجیبی ایجاد کند.

پرسش ۳: آیا همیشه باید از range در حلقه for استفاده کنیم؟

نه، همیشه اینطور نیست. حلقه for می‌تواند روی هر دنباله‌ای تکرار کند، مثل فهرست کلمات، کاراکترهای یک رشته یا اعضای یک مجموعه. اما range یکی از رایج‌ترین و مفیدترین ابزارها برای زمانی است که می‌خواهیم یک کار را تعداد مشخصی بار تکرار کنیم یا به اعداد خاصی دسترسی داشته باشیم.

جمع‌بندی

حلقه for یکی از قدرتمندترین ابزارهای برنامه‌نویسی برای انجام کارهای تکراری است. با کمک تابع range، می‌توانیم به‌راحتی تعداد دفعات اجرای یک بلاک کد را مشخص کنیم و روی دنباله‌های عددی مختلف پیمایش کنیم. درک درست این دو مفهوم، به ما کمک می‌کند تا برنامه‌های کوتاه‌تر، خوانا‌تر و کارآمدتری بنویسیم. به یاد داشته باشید که در حلقه for، مقدار اولیه، شرط پایان و گام پیمایش، سه عامل مهم برای کنترل تکرار هستند که با range به‌سادگی قابل تنظیم می‌باشند. با تمرین و استفادهٔ مکرر از این ساختار، به زودی خواهید دید که چقدر می‌تواند در حل مسائل مختلف به شما کمک کند.

شهروند الکترونیک: فردی که با استفاده درست از ابزارهای دیجیتال و اینترنت، کارها و ارتباطات خود را ساده‌تر، سریع‌تر و کم‌هزینه‌تر انجام می‌دهد.
کپسول آموزشی

شهروند الکترونیک: فردی که با استفاده درست از ابزارهای دیجیتال و اینترنت، کارها و ارتباطات خود را ساده‌تر، سریع‌تر و کم‌هزینه‌تر انجام می‌دهد.

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع
کپسول آموزشی

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری
کپسول آموزشی

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری

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

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

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.
کپسول آموزشی

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام
کپسول آموزشی

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی
کپسول آموزشی

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها
کپسول آموزشی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر
کپسول آموزشی

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر

صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.
کپسول آموزشی

صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.
کپسول آموزشی

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.
کپسول آموزشی

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.