آموزش تابع range در پایتون (Python)

خب قبل از شروع خود آموزش تابع range، باید به نحوه اندیس گذاری در پایتون (python) اشاره کنیم!

نحوه اندیس گذاری در پایتون (python)

پایتون (python)، اندیس رو از صفر میشماره! یعنی از صفر شروع میکنه به شمردن! مثلاً کلمه زیر رو در نظر بگیرید:

koolac

ترتیب اندیس ها این شکلی است:

اندیس صفر = k

اندیس یک = o

اندیس دو = o

اندیس سه = l

اندیس چهار = a

اندیس پنج = c

خب! حالا شما بگین: در کلمه Sajjad زیر اندیس شماره ۱ کدام است؟! بله درست است، حرف s اندیس صفر، حرف a اندیس یک، حرف j اندیس دو، مجددا حرف j اندیس سه، حرف a اندیس چهار و حرف d اندیس پنج می‌باشد! پس اندیس یک برابر a است!

اندیس گذاری منفی در پایتون (python)

فرض کنید با یک محور اعداد مواجه هستیم! عناصر این محور به صورت زیر است:

[…,-۵,-۴,-۳,-۲,-۱,۰,۱,۲,۳,۴,۵,…..]

پس مشاهده می‌کنید قبل از صفر، اندیس منهای یک وجود دارد. در پایتون (python) نیز اندیس منفی وجود دارد! اما شاید بپرسید که مثلاً برای کلمه koolac اندیس منفی یعنی چی؟! k میشه اندیس صفر! مگر قبل از k هم چیزی وجود داره که میخوایم اندیس منفی تعریف کنیم؟!

جواب اینه که اینجوری فرض میشه، که اگر عقب‌تر از اندیس صفر بخوایم بریم، چون قبل اندیس صفر (همان k درکلمه مذکور) چیزی نیست! پس مجبوریم، دنده عقب بیایم و از آخر شروع کنیم، یعنی از c (توی فیلم با اسلاید بهتر توضیح دادیم)!

پس در واقع در کلمه koolac، اندیس منهای یک میشه c!

اگر به دنده عقب رفتن ادامه بدیم، منفی تر ها رو هم میتونیم تعریف کنیم! مثلاً اندیس منفی دو میشه a، اندیس منفی سه میشه l، اندیس منفی چهار میشه o، اندیس منفی پنج میشه o، و اندیس منفی شش میشه k! باید حواسمون باشه که زیاده روی نکنیم، چون اندیس منفی هفت وجود نداره!

تابع range در پایتون (python)

تابع range میاد یک رِنج یا بازه از اعداد رو تولید میکنه! اما چجوری؟! باید یکم صحبت کینم…

— بیان تابع range به صورت range(a,b) :

در این حالت پایتون (python) یک بازه از اعداد عدد صحیح تولید میکنه از a تا (b-1)! بله تعجب نکنید! خود b رو لحاظ نمیکنه! شاید اگر دفعه اولتون باشه که اینو میشنوید، عجیب به نظر برسه، ولی به هرحال پایتون ته بازه رو حساب نمی‌کنه!

مثلاً range(2,7) رو در نظر بگیرید، که شامل اعداد زیر خواهد بود:

۲,۳,۴,۵,۶

و باز تاکید می‌کنم که خود ۷ رو لحاظ نمی‌کنه!

مثال دیگه رو خودتون حل کنید: range(5,12)

جواب:

۵,۶,۷,۸,۹,۱۰,۱۱

بیان تابع range به صورت range(b) :

یعنی به تابع range یک ورودی (یا یک آرگومان) بدهیم! و اون هم نقطه انتهایی! در این صورت، پایتون (python) اندیس شروع رو به صورت پیش فرض برابر صفر قرار میده! (چون در پایتون (python) اندیس‌گذاری از صفر میشد دیگه!)

اما مجددا همون بحث نقطه انتها سر جای خودش هست، که خود b رو لحاظ نمیکنه!

مثال: range(7) یعنی:

۰,۱,۲,۳,۴,۵,۶

مثال: range(4) یعنی:

۰,۱,۲,۳

خب! حالا این مثال رو خودتون حل کنین: range(10)

جواب:

۰,۱,۲,۳,۴,۵,۶,۷,۸,۹

مشاهده مقادیر تابع range در پایتون (python)

یکی از چیزایی که احتمالاً اعصابتون رو خورد کرده اینه که احتمالاً هِی کد زیر رو می‌نویسید و میبینید که اعداد رو بهتون نشون نمیده!

بله درسته! نشون نمیده! اما پس اگر بخوایم ببینیم که واقعا چه عددهایی رو میشه داخل خودش داره، چجوری بفهمیم؟! سه روش میگیم:

روش اول: با تخصیص چندتایی متغیرها:

شاید اسم تخصیص چندتایی قلمبه سلمبه باشه، ولی هیچ چیز خاصی نیست! قبل از هر چیز، برای اینکه مطمئن بشید پیش‌نیازها رعایت شده، به مطلب مربوط به نکات نکمیلی متغیرها برید و تخصیص چندگانه رو یاد بگیرید (رو همون لینک که کلیک کنید، میرین توی صفحه همون مطلب، قسمتی از متن نوشتیم: نکته: چند نوع تخصیص مقدار به متغیر!، زیر همین رو بخونید، اوکیه!)

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

اگر نمی‌دونید که تابع print چجوری کار میکنه، به فیلم آموزشی تابع print مراجعه کنید!

چون می‌دونیم که range(1,5) شامل اعداد ۱,۲,۳,۴ است و از طرفی تخصیص متغیرها رو طبق همون مطلبی که بالا گفتیم بلدیم! پس می‌دونیم که پایتون (python) میاد و این ها رو متناظر میکنه و به شکل زیر عمل میکنه:

a=1;b=2;c=3;d=4

تو خط بعدی هم که گفتیم مقادیر و چاپ کنه که خب چاپ میکنه!

روش دوم: استفاده از تابع list:

مطلب پیشنهادی:

آموزش لیست ها (list) در پایتون (Python)

تذکر: اولاً اگر دارید طبق دوره پیش میاد، چون تابع و اصلاً کلا لیست رو نگفتیم هنوز! بی خیال از این جا به بعد بشین! برای کامل شدن مطلب داریم میگیم اینا رو! اما بعدا که اینا رو یاد گرفتین، حتما دوباره بیاین و مراجعه کنید!

از کد زیر استفاده می‌کنیم:

در واقع داریم تابع range رو اول به لیست تبدیل می‌کنیم (با تابع list) بعد حالا لیست رو چاپ می‌کنیم، که اوکیه و مشکلی پیش نمیاد!

روش سوم: استفاده از for:

تذکر: بازهم اگر دارید طبق دوره پیش میاید، هنوز for رو نگفتیم، پس وقتی گفتیم بیاین بخونین و الان بی‌خیال اینا بشین!

از کد زیر استفاده می‌کنیم:

دانلود فیلم های مروبطه:

دانلود فیلم اول :(حجم: ۲۸٫۰۵ مگابایت)(مدت زمان: ۱۱ دقیقه)

فیلم دوم شامل نحوه استفاده از تابع list برای نمایش یک range می‌باشد!

دانلود فیلم دوم :(حجم: ۱۲٫۷۷ مگابایت)(مدت زمان: ۳ دقیقه و ۳۵ ثانیه)

آموزش های پیشنهادی از مجموعه پایتون (Python):

آموز تولید عدد تصادفی از حدود ۲۰ توزیع

آموزش ایجاد ماتریس با پایتون

آموزش تابع eval

کانال تلگرامی ما رو هم دنبال کنید (هر روز تمرین پایتون و مطالب مفیدی قرار میدیم)@Koolac_Org
+