রেঞ্জ range()

range() ফাংশন হচ্ছে জেনারেটর। যা একটি জেনারেটর অবজেক্ট রিটার্ন করে। সিনট্যাক্স:

range( start_value, end_value, increament_value)

ফাংশন তিনটি প্যারামিটার নিতে পারে। start_value ফাংশন কত থেকে কাউন্টিং শুরু করবে তা ডিফাইন করে, end_value ডিফাইন করে ফাংশনের শেষ সীমা এবং increment_value ডিফাইন করে প্রতি ধাপে কত করে মান বৃদ্ধি হবে। start_value এবং end_value হচ্ছে অপশনাল। মানে ফাংশনে এই দুটি প্যারামিটার পাস না করলে ও ফাংশন এক্সিকিউট হবে। সেক্ষেত্রে বাই-ডিফল্ট start_value এর মান হবে 0 এবং incremental_value এর মান হবে 1।

>>>range(5)
range(0, 5)
>>> a = range(5)
>>>print(type(a))
< class 'range'>

for লুপের সাথে ব্যবহারের ক্ষেত্রে আমরা range() ফাংশনের অবজেক্ট গুলো কে ট্রাভার্স করার জন্য একটি ভ্যারিয়েবল ব্যবহার করতে হয়।

>>> for i in range(5):
print(i)
0
1
2
3
4

যেহেতু আমরা কোন start_value এবং incremental_value দেই নি তাই বাই-ডিফল্ট range() ফাংশন এদের মান যথাক্রমে 0 এবং 1 ধরে নিয়েছে। যদিও end_value এর মান 5 দেয়া হয়েছে কিন্তু range() এখানে 4 পর্যন্ত আউটপুট দিয়েছে কারণ end_value এর মানের চেয়ে ছোট প্রিন্ট করতে পারবে, সমান নয়।

for i in range(1,10,2)
print(i)
1
3
5
7
9

range. ফাংশন এর মাধ্যমে স্বয়ংক্রিয় ভাবে একটি লিস্ট তৈরি করা যায়, যার এলিমেন্ট গুলো হয় একটি নির্দিষ্ট ক্রম অনুযায়ী।

my_numbers = list(range(10)) print(my_numbers)

আউটপুট:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

উপরের উদাহরণে, ০ থেকে ৯ পর্যন্ত ১০টি ক্রমিক সংখ্যা সম্বলিত একটি লিস্ট তৈরি করা হয়েছে। range এর সাথে list ফাংশনের ব্যবহার করা হয়েছে কারন, range বস্তুত একটি অবজেক্ট রিটার্ন করে আর তাই একে list ফাংশনের আর্গুমেন্ট হিসেবে পাঠিয়ে একটি ব্যবহার উপযোগী লিস্ট হিসেবে রূপান্তর করা হয়েছে।

Last updated