گاما رو نصب کن!

{{ number }}
اعلان ها
اعلان جدیدی وجود ندارد!
کاربر جدید

جستجو

پربازدیدها: #{{ tag.title }}

میتونی لایو بذاری!
نمونه سوال محتوای آموزشی آزمون آنلاین پرسش و پاسخ درسنامه آموزشی مدرسه‌یاب معلم‌ها

تابع range چیست؟

بروزرسانی شده در: 20:29 1405/04/18 مشاهده: 31     دسته بندی: کپسول آموزشی

تابع تعیین‌کنندهٔ دنباله‌ای از عددها برای کنترل تعداد تکرار حلقه

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

آشنایی با ورودی‌های تابع range

تابع range سه ورودی اصلی دارد که هر کدام نقش مهمی در ساختن دنبالهٔ عددها ایفا می‌کنند. بیایید با مثال‌هایی ساده و ملموس، هر کدام را بررسی کنیم.

ورودی اول: نقطهٔ شروع
این ورودی مشخص می‌کند که دنبالهٔ عددی از چه عددی آغاز شود. اگر آن را ننویسیم، به‌طور خودکار از عدد 0 شروع می‌شود. فرض کنید می‌خواهیم عددهای کلاس‌های یک مدرسه را از کلاس هفتم تا دهم نشان دهیم. با نوشتن range(7, 11) دنبالهٔ 7, 8, 9, 10 ساخته می‌شود.

ورودی دوم: نقطهٔ پایان
این عدد مشخص می‌کند که دنباله تا کجا ادامه پیدا کند، اما خود این عدد در دنباله قرار نمی‌گیرد. یعنی تابع range تا یک عدد قبل از این ورودی را تولید می‌کند. برای نمونه، اگر بخواهیم شمارهٔ صفحه‌های یک کتاب از صفحهٔ 1 تا 5 را داشته باشیم، می‌نویسیم range(1, 6) که دنبالهٔ 1, 2, 3, 4, 5 را می‌سازد.

ورودی سوم: گام یا پرش
گام مشخص می‌کند که بین هر عدد و عدد بعدی چقدر فاصله باشد. اگر گام را ننویسیم، مقدار پیش‌فرض آن 1 است. مثلاً اگر بخواهیم اعداد زوج بین 2 تا 10 را داشته باشیم، می‌نویسیم range(2, 11, 2) که دنبالهٔ 2, 4, 6, 8, 10 را تولید می‌کند. همچنین می‌توانیم گام را منفی بدهیم تا دنباله به‌صورت نزولی ساخته شود.

نکته: همیشه به یاد داشته باشید که عدد پایان در دنباله قرار نمی‌گیرد. این یکی از رایج‌ترین اشتباهات در استفاده از تابع range است.
نام ورودی نقش مثال
شروع عدد اول دنباله range(3, 8) → 3,4,5,6,7
پایان عددی که دنباله پیش از آن متوقف می‌شود range(1, 5) → 1,2,3,4
گام فاصلهٔ بین اعداد range(0, 10, 3) → 0,3,6,9

کاربردهای جذاب range در دنیای واقعی

حالا که با ورودی‌های تابع range آشنا شدیم، ببینیم در چه موقعیت‌های روزمره‌ای می‌توانیم از آن استفاده کنیم. فرض کنید معلمی می‌خواهد نمرات دانش‌آموزان کلاس را که در یک لیست ذخیره شده‌اند، یکی‌یکی بررسی کند. با استفاده از range(len(لیست)) می‌تواند به راحتی به تمام نمرات دسترسی پیدا کند.

یا فرض کنید می‌خواهیم یک برنامه بنویسیم که جدول ضرب عدد 7 را چاپ کند. با حلقه‌ای که از range(1, 11) استفاده می‌کند، به‌راحتی می‌توانیم حاصل ضرب 7 در اعداد 1 تا 10 را محاسبه کنیم. همچنین اگر بخواهیم از آخرین روز هفته به اولی برسیم، با نوشتن range(6, -1, -1) می‌توانیم شماره روزها را به‌صورت نزولی تولید کنیم.

یکی از کاربردهای جالب دیگر، تولید شمارهٔ صندلی‌های یک سالن سینماست. اگر صندلی‌ها به‌صورت ردیفی شماره‌گذاری شده‌اند و می‌خواهیم فقط صندلی‌های با شمارهٔ فرد را به تماشاگران خاصی اختصاص دهیم، با range(1, 21, 2) می‌توانیم دنبالهٔ اعداد فرد 1, 3, 5, ..., 19 را بسازیم.

نکته: تابع range در بسیاری از زبان‌های برنامه‌نویسی مانند پایتون، کاربرد گسترده‌ای دارد و به ما امکان می‌دهد تا حلقه‌ها را بسیار منعطف‌تر کنترل کنیم.

پرسش‌های کلیدی دربارهٔ تابع range

پرسش ۱: چرا عدد پایان در دنباله قرار نمی‌گیرد؟
این قانون به ما کمک می‌کند تا به‌راحتی تعداد عناصر دنباله را محاسبه کنیم. اگر از 0 شروع کنیم و به عدد n برسیم، دقیقاً n عنصر داریم. مثلاً range(10) دقیقاً 10 عدد از 0 تا 9 تولید می‌کند که برای شمارش اعضای یک لیست با 10 عضو بسیار مناسب است.
پرسش ۲: آیا همیشه باید هر سه ورودی را بنویسیم؟
خیر، تابع range بسیار انعطاف‌پذیر است. اگر فقط یک عدد بنویسیم، مانند range(5)، همان range(0, 5) معنی می‌دهد. اگر دو عدد بنویسیم، مانند range(2, 7)، یعنی شروع و پایان را مشخص کرده‌ایم و گام به‌صورت پیش‌فرض 1 در نظر گرفته می‌شود. بنابراین بسته به نیاز خود، می‌توانیم یک، دو یا سه ورودی به آن بدهیم.
پرسش ۳: آیا می‌توانیم از اعداد اعشاری استفاده کنیم؟
خیر، ورودی‌های تابع range باید عددهای صحیح باشند. اگر نیاز به دنباله‌ای از اعداد اعشاری داریم، باید از روش‌های دیگری استفاده کنیم. اما برای بیشتر کاربردهای روزمره در برنامه‌نویسی، اعداد صحیح کافی هستند. مثلاً شمارش دانش‌آموزان، تعداد صفحات کتاب، یا شمارهٔ روزهای هفته همگی با اعداد صحیح نمایش داده می‌شوند.
تابع range یک ابزار ساده اما قدرتمند برای تولید دنباله‌های عددی در برنامه‌نویسی است. با شناخت سه ورودی شروع، پایان و گام، می‌توانید هر دنباله‌ای از اعداد صحیح را بسازید. به‌خاطر داشته باشید که عدد پایان در دنباله قرار نمی‌گیرد و می‌توانید با حذف بعضی ورودی‌ها، کد خود را کوتاه‌تر بنویسید. با تمرین در مثال‌های مختلف مانند جدول ضرب، شماره‌گذاری صندلی‌ها یا دسترسی به اعضای یک لیست، به‌راحتی بر این تابع مسلط خواهید شد.