به آموزشگاه مجازی سینا خوش آمدید!

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

امتیاز
(0)

تابع داخلیِ range() یک دنباله‌ی تغییر‌ناپذیر از اعداد را برمی‌گرداند، که به طور معمول از آنها، برای حلقه‌زدن به تعداد خاصی، استفاده می‌شود. 

این مجموعه(set) از اعداد، یک نوعِ داده‌یِ خاص به نام range دارد. 


نکته: تغییر ناپذیر بودن دنباله، یعنی اینکه، این دنباله، پس از اینکه ایجاد شد، (اعضای آن) دیگر نتواند تغییر داده شود. 


ایجاد دنباله با تابع range()

با استفاده از شیوه‌ی نوشتاری یا سینتکس زیر، می‌توانیم تابع range() را با 1 یا 2 یا 3 آرگومان، فراخوانی کنیم:    

range(start, stop, step)

 


فراخوانی تابع range() با یک آرگومان

اگر تابع range تنها با استفاده از یک آرگومان فراخوانی شود، این آرگومان، مقدار stop را مشخص می‌کند؛ و آرگومان start اختیاری است و اگر ارائه نشود، به طور پیش فرض برابر با 0 خواهد شد. بنابراین دستور range(10) یک دنباله از اعداد از 0 تا 9 است(آرگومان start شامل خود آن نیز می‌شود اما آرگومان stop شامل خود آن عدد نمی‌شود). 

مثال شماره 1

ایجاد یک محدوده(range) از اعداد از 0 تا 9:

x = range(10)

# x نمایش دادن
print(x)

# x تبدیل به لیست برای نمایش دادن محتوای
print(list(x))


نتیجه:

range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
امتحان کنید

فراخوانی تابع range() با دو آرگومان

اگر تابع range با دو آرگومان فراخوانی شود، آرگومان اول، مقدار start را مشخص می‌کند و آرگومان دوم، مقدار stop را مشخص می‌کند. دستور range(3, 10) یک دنباله از اعداد از 3 تا 9 را مشخص می‌کند:

مثال شماره 2

ایجاد یک محدوده از اعداد از 0 تا 9:

x = range(3, 10)

# x نمایش دادن
print(x)

# x تبدیل به لیست برای نمایش دادن محتوای
print(list(x))

نتیجه:

range(3, 10)
[3, 4, 5, 6, 7, 8, 9]
امتحان کنید

فراخوانی تابع range() با سه آرگومان

اگر تابع range با سه آرگومان فراخوانی شود، آرگومان سوم، مقدار گام(step) را مشخص خواهد کرد. مقدار گام، اختلاف بین عددهای درون دنباله را مشخص می‌کند. این آرگومان اختیاری است و اگر ارائه نشود، مقدار پیش فرض آن 1 است. بنابراین دستور range(3, 10, 2) یک دنباله از 3 تا 9 را برمی‌گرداند که گام یا قدرِنسبت آن، 2 است:

مثال شماره 3

ایجاد یک محدوده از اعداد از 3 تا 9:

x = range(3, 10, 2)

# x نمایش دادن 
print(x)

# x تبدیل به لیست برای نمایش دادن محتوای
print(list(x))

نتیجه:

range(3, 10, 2)
[3, 5, 7, 9]
امتحان کنید

استفاده از تابع range در پایتون

از تابع range() اغلب در حلقه‌ی for، برای حلقه زدن روی یک دنباله از اعداد استفاده می‌شود:

مثال شماره 4

حلقه زدن روی هر مقدار در درون تابع range():

for x in range(10):
  print(x) 

نتیجه:

0
1
2
3
4
5
6
7
8
9
امتحان کنید

استفاده از لیست برای نمایش دادن محدوده‌ها(Ranges)

آبجکت range یک نوعِ داده است که یک دنباله‌ی تغییرناپذیر از اعداد را ارائه می‌کند و مستقیماً قابل نمایش نیست. به همین خاطر، اغلب rangeها را به لیست تبدیل می‌کنیم تا بتوانیم اعداد آن را نمایش دهیم. 

مثال شماره 5

تبدیل rangeهای مختلف به لیست:

print(list(range(5)))
print(list(range(1, 6)))
print(list(range(5, 20, 3)))

نتیجه:

[0, 1, 2, 3, 4]
[1, 2, 3, 4, 5]
[5, 8, 11, 14, 17]
امتحان کنید

برش دادن rangeها در پایتون

مانند دیگر دنباله‌ها، می‌توانیم rangeها را برش بزنیم تا یک زیردنباله را از آن استخراج کنیم. 

مثال شماره 6

استخراج کردن یک زیردنباله از یک range:

r = range(10)
print(r[2])
print(r[:3])

نتیجه:

2
range(0, 3)
امتحان کنید

نکته: در مثال بالا، اولین دستور print مقداری که در اندیس 2 قرار دارد را برمی‌گرداند و دومین دستور print، یک آبجکت range جدید را برمی‌گرداند که از اندیس 0 تا 3 استفاده می‌کند. 


تست عضویت(Membership Testing)

با استفاده از عملگر in می‌توانیم برای rangeها تست عضویت انجام دهیم. 

مثال شماره 7

تست کردن اینکه آیا اعداد 6 و 7 در یک range وجود دارند؟

r = range(0, 10, 2)
print(list(r))
print(6 in r)
print(7 in r)

نتیجه:

[0, 2, 4, 6, 8]
True
False
امتحان کنید

اگر عدد مورد نظر در range وجود داشته باشد، مقدار True برگردانده می‌شود و اگر وجود نداشته باشد، مقدار False برگردانده می‌شود. 


استفاده از دستور len در range

range‌ها از تابع len() پشتیبانی می‌کنند تا بتوانیم به وسیله‌ی آن، تعداد عناصر درون آن range را به دست بیاوریم. 

نکته: کلمه‌ی len مخفف کلمه‌ی length به معنیِ طول می‌باشد. 

مثال شماره 8

به دست اوردن طولِ(length) یک range:

r = range(0, 10, 2)
print(list(r))
print(len(r))

نتیجه:

[0, 2, 4, 6, 8]
5
امتحان کنید

 


منبع: www.w3schools.com/python

 

  • بازدید: 37

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال