Python range
বিল্ট-ইন range() ফাংশন সংখ্যার একটি অপরিবর্তনীয় ক্রম (immutable sequence) রিটার্ন করে, যা সাধারণত একটি নির্দিষ্ট সংখ্যক বার লুপ চালানোর জন্য ব্যবহৃত হয়।
এই সংখ্যার সেটটির নিজস্ব ডেটা টাইপ রয়েছে যার নাম range।
দ্রষ্টব্য:
অপরিবর্তনীয় মানে এটি তৈরি হওয়ার পরে পরিবর্তন করা যাবে না।
Creating ranges
range() ফাংশনটি ১, ২ বা ৩টি আর্গুমেন্ট দিয়ে কল করা যেতে পারে, এই সিনট্যাক্স ব্যবহার করে:
range(start, stop, step)
Call range() With One Argument
যদি range ফাংশনটি শুধুমাত্র একটি আর্গুমেন্ট দিয়ে কল করা হয়, তবে সেই আর্গুমেন্টটি স্টপ ভ্যালুকে নির্দেশ করে।
start আর্গুমেন্টটি ঐচ্ছিক, এবং যদি দেওয়া না হয়, তবে এটি ডিফল্টরূপে ০ হয়।
range(10) ০ থেকে ৯ পর্যন্ত প্রতিটি সংখ্যার একটি ক্রম রিটার্ন করে। (start আর্গুমেন্ট ০ অন্তর্ভুক্ত, এবং stop আর্গুমেন্ট ১০ বাদ দেওয়া হয়)।
উদাহরণ
০ থেকে ৯ পর্যন্ত সংখ্যার একটি রেঞ্জ তৈরি করুন:
x = range(10)
Call range() With Two Arguments
যদি range ফাংশনটি দুটি আর্গুমেন্ট দিয়ে কল করা হয়, তবে প্রথম আর্গুমেন্টটি start ভ্যালুকে নির্দেশ করে এবং দ্বিতীয় আর্গুমেন্টটি stop ভ্যালুকে নির্দেশ করে।
range(3, 10) ৩ থেকে ৯ পর্যন্ত প্রতিটি সংখ্যার একটি ক্রম রিটার্ন করে:
উদাহরণ
৩ থেকে ৯ পর্যন্ত সংখ্যার একটি রেঞ্জ তৈরি করুন:
x = range(3, 10)
Call range() With Three Arguments
যদি range ফাংশনটি তিনটি আর্গুমেন্ট দিয়ে কল করা হয়, তবে তৃতীয় আর্গুমেন্টটি step ভ্যালুকে নির্দেশ করে।
step ভ্যালু মানে ক্রমের প্রতিটি সংখ্যার মধ্যে পার্থক্য। এটি ঐচ্ছিক, এবং যদি দেওয়া না হয়, তবে এটি ডিফল্টরূপে ১ হয়।
range(3, 10, 2) ৩ থেকে ৯ পর্যন্ত প্রতিটি সংখ্যার একটি ক্রম রিটার্ন করে, যেখানে ধাপ ২:
উদাহরণ
৩ থেকে ৯ পর্যন্ত সংখ্যার একটি রেঞ্জ তৈরি করুন:
x = range(3, 10, 2)
Using ranges
রেঞ্জ প্রায়শই for লুপে সংখ্যার একটি ক্রমের উপর ইটারেট করতে ব্যবহৃত হয়।
উদাহরণ
একটি রেঞ্জের প্রতিটি মানের উপর ইটারেট করুন:
for i in range(10):
print(i)
Using List to Display Ranges
range অবজেক্টটি একটি ডেটা টাইপ যা সংখ্যার একটি অপরিবর্তনীয় ক্রম উপস্থাপন করে এবং এটি সরাসরি প্রদর্শনযোগ্য নয়।
অতএব, প্রদর্শনের জন্য রেঞ্জ প্রায়শই লিস্টে রূপান্তরিত করা হয়।
উদাহরণ
বিভিন্ন রেঞ্জকে লিস্টে রূপান্তর করুন:
print(list(range(5)))
print(list(range(1, 6)))
print(list(range(5, 20, 3)))
Slicing Ranges
অন্যান্য সিকোয়েন্সের মতো, রেঞ্জকেও স্লাইস করে একটি উপ-ক্রম (subsequence) বের করা যায়।
উদাহরণ
একটি রেঞ্জ থেকে একটি উপ-ক্রম বের করুন:
r = range(10)
print(r[2])
print(r[:3])
দ্রষ্টব্য:
প্রথম মুদ্রণ বিবৃতিটি সূচক ২-এ মান প্রদান করে, দ্বিতীয় মুদ্রণ বিবৃতিটি সূচক ০ থেকে ৩ পর্যন্ত একটি নতুন পরিসর বস্তু প্রদান করে।
Membership Testing
রেঞ্জ in অপারেটরের সাথে সদস্যতা পরীক্ষা সমর্থন করে।
উদাহরণ
৬ এবং ৭ সংখ্যা দুটি একটি রেঞ্জে উপস্থিত কিনা তা পরীক্ষা করুন:
r = range(0, 10, 2)
print(6 in r)
print(7 in r)
রিটার্ন ভ্যালু True হয় যখন সংখ্যাটি রেঞ্জে উপস্থিত থাকে, এবং False যখন তা না থাকে।
Length
রেঞ্জ রেঞ্জের উপাদানের সংখ্যা পেতে len() ফাংশন সমর্থন করে।
উদাহরণ
একটি রেঞ্জের দৈর্ঘ্য (length) নির্ণয় করুন:
r = range(0, 10, 2)
print(len(r))