পাইথন random.choice() মেথড একটি তালিকা থেকে র্যান্ডমলি সিলেক্টেড একটি এলিমেন্ট ফেরত দেয়। random.choice() যেকোনো ডেটা টাইপের আইটেমসহ তালিকার ওপর কাজ করে। random.choice() একটি আর্গুমেন্ট গ্রহণ করে: যে তালিকা থেকে আপনি একটি আইটেম সিলেক্ট করতে চান।
আপনি এমন একটি পরিস্থিতি সম্মুখীন হতে পারেন যেখানে আপনি একটি তালিকা থেকে র্যান্ডমলি একটি আইটেম বেছে নিতে চান। উদাহরণস্বরূপ, বলুন আপনি একটি কালার গেসিং গেম বিল্ড করছেন। আপনি চাইতে পারেন যে ব্যবহারকারী যে কালারটি গেস করবে সেটি সম্ভাব্য অপশনগুলোর একটি তালিকা থেকে র্যান্ডমলি চয়ন করা হয়।
পাইথনে একটি র্যান্ডম চয়েস সিলেক্টর ইমপ্লিমেন্ট করতে, আপনি random.choice() এবং random.choices() ফাংশন ব্যবহার করতে পারেন। এই ফাংশনগুলো আপনাকে একটি আইটেমের সিকোয়েন্স থেকে যথাক্রমে একটি সিঙ্গল র্যান্ডম আইটেম এবং একাধিক র্যান্ডম আইটেম বের করতে দেয়।
এই টিউটোরিয়ালে, উদাহরণসহ, পাইথন র্যান্ডম লাইব্রেরির বেসিকস আলোচনা করা হবে। আমরা random.choice() মেথড ব্যবহার করে একটি তালিকা থেকে একটি র্যান্ডম এলিমেন্ট বের করার পদ্ধতি আলোচনা করব।
পাইথন Random Choice মডিউল
পাইথন random মডিউল আপনাকে র্যান্ডম নম্বর সংক্রান্ত ফাংশনগুলো এক্সেস করতে দেয়।
এই মডিউলের সবচেয়ে সাধারণ ব্যবহারের একটি হলো একটি র্যান্ডম নম্বর জেনারেট করা, যা আপনি randint() ফাংশন ব্যবহার করে করতে পারেন। মডিউলটি একটি ফাংশনও প্রদান করে যেটি choice() নামে, যা আপনাকে একটি তালিকা থেকে র্যান্ডমলি একটি আইটেম বেছে নেওয়া দেয়।
আরো, random একটি ফাংশনও প্রদান করে যেটি choices() নামে, যা আপনাকে একটি তালিকা থেকে একাধিক র্যান্ডম চয়েস ফেরত দিতে দেয়।
র্যান্ডম লাইব্রেরি ব্যবহার করা যেসব অ্যাপ্লিকেশনের উদাহরণ নিচে:
- একটি টুল যা একটি র্যান্ডম নম্বর বেছে নেয়।
- একটি টুল যা কালারের একটি তালিকা থেকে একটি র্যান্ডম কালার বেছে নেয়।
- একটি টুল যা একটি ডেক থেকে একটি র্যান্ডম কার্ড বেছে নেয়।
- একটি অ্যাপ্লিকেশন যা একটি কয়েন ফ্লিপ করে।
আমাদের কোডে random লাইব্রেরি ইম্পোর্ট করতে হবে এর ফাংশনগুলো ব্যবহার শুরু করার আগে। আমরা নিচের পাইথন ইম্পোর্ট স্টেটমেন্ট ব্যবহার করে সেটি করতে পারি:
import random
পাইথন random.choice()
পাইথন random.choice() ফাংশন একটি সিকোয়েন্স থেকে একটি র্যান্ডম এলিমেন্ট ফেরত দেয়। আপনাকে আর্গুমেন্ট হিসেবে সেই তালিকা নির্দিষ্ট করতে হবে যেখান থেকে আপনি একটি র্যান্ডম এলিমেন্ট বের করতে চান। random.choice() একটি মান ফেরত দেয়।
এই ফাংশনের সিনট্যাক্স নিম্নরূপ:
random.choice(sequence)
random.choice() মেথড যেকোনো ডেটা টাইপের আইটেম ফেরত দিতে পারে। তাই, random.choice() একটি তালিকা থেকে একটি JSON অবজেক্ট ফেরত দিতে পারে, অথবা একটি নম্বর।
চলুন একটি উদাহরণের মাধ্যমে random.choice() মেথড কীভাবে কাজ করে তা ইলাস্ট্রেট করি।
random.choice() পাইথন উদাহরণ
মান লেন আমরা একটি অ্যাপ্লিকেশন বিল্ড করছি যা আমাদের ফেভারিট গানগুলোর তালিকা থেকে র্যান্ডমলি একটি গান বেছে নেবে। এই অ্যাপ্লিকেশনটি আমাদের उस ড্রেডেড "আমি কী শুনব?" প্রশ্নটি ওভারকাম করতে সাহায্য করবে যা গান বেছে নেওয়ার সময় আসে।
এই অ্যাপ্লিকেশন বিল্ড করতে, আমরা আমাদের ফেভারিট গানগুলোর একটি তালিকা দিয়ে শুরু করব:
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
এই তালিকায় আমাদের চারটি ফেভারিট গান রয়েছে। তারপর, আমরা random.choice() ব্যবহার করি এই তালিকা থেকে একটি র্যান্ডম গান সিলেক্ট করতে। এখানে আমরা যে কোডটি ব্যবহার করব:
import random
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
song_to_play = random.choice(favorite_songs)
print("The song you should play is:", song_to_play)
এই প্রোগ্রাম কীভাবে কাজ করে তা ইলাস্ট্রেট করতে, আমরা এটি তিনবার এক্সিকিউট করব। এখানে তিনবার প্রোগ্রাম এক্সিকিউট করার সময় সব রেসপন্স:
The song you should play is: Ring of Fire The song you should play is: Come on Eileen The song you should play is: Ring of Fire
random.choice() মেথড আমাদের ফেভারিট গানগুলোর তালিকা থেকে একটি র্যান্ডম আইটেম বেছে নেওয়ায় সাহায্য করেছে।
আমাদের কোড ব্রেক ডাউন করি। প্রথমে, আমরা random মডিউল ইম্পোর্ট করেছি, যেটি choice() ফাংশন ধারণ করে যেটি আমরা পরে আমাদের প্রোগ্রামে ব্যবহার করব। তারপর, আমরা আমাদের ফেভারিট গানগুলোর একটি তালিকা ঘোষণা করেছি যেখান থেকে আমাদের প্রোগ্রাম একটা বেছে নেবে।
পরবর্তীতে, আমরা choice() মেথড ব্যবহার করি আমাদের ফেভারিট গানগুলোর তালিকা থেকে একটি র্যান্ডম আইটেম সিলেক্ট করতে। আমরা সেটি "song_to_play" ভেরিয়েবলে অ্যাসাইন করি। শেষে, আমরা কনসোলে "The song you should play is:" প্রিন্ট করি, তারপর র্যান্ডমলি সিলেক্টেড গানটি যা আমাদের প্লে করা উচিত।
র্যান্ডম চয়েস পাইথন: random.choices() ব্যবহার করা
এতক্ষণ, আমরা random.choice() মেথড ব্যবহার করে একটি তালিকা থেকে একটি র্যান্ডম চয়েস সিলেক্ট করেছি। কিন্তু কী হয় যদি আমরা একাধিক র্যান্ডম চয়েস সিলেক্ট করতে চাই?
সেটা করতে, আমরা random.choices() মেথড ব্যবহার করতে পারি। এই মেথডটি আপনাকে একটি তালিকা থেকে এক বা অধিক র্যান্ডম চয়েস ফেরত দিতে দেয়। choices() মেথডের সিনট্যাক্স:
random.choices(sequence, weights, accumulate, k=number_to_choose)
choices() মেথড নিচের প্যারামিটারগুলো গ্রহণ করে:
- sequence: সিকোয়েন্স যেখান থেকে আপনি একটি র্যান্ডম আইটেম বেছে নিতে চান। এটি হতে পারে একটি স্ট্রিং, তালিকা, বা একটি টাপল।
- weights: একটি তালিকা যেটি আপনাকে প্রতিটি ভ্যালুর এপিয়ার করার সম্ভাবনা ওজন দিতে দেয়।
- accumulate: প্রতিটি ভ্যালুর জন্য ওজন সহ একটি তালিকা। প্রতিটি ওজনের সম্ভাবনা একসাথে জমা হয়।
- number_to_choose: আপনি আপনার সিকোয়েন্স থেকে কতগুলো র্যান্ডম অপশন সিলেক্ট করতে চান।
আমরা আমাদের উদাহরণগুলিতে "sequence" এবং "number_to_choose" আর্গুমেন্টগুলোর ওপর ফোকাস করব।
পাইথন random.choices() উদাহরণ
মান লেন আমরা আমাদের ফেভারিট গানগুলোর তালিকা থেকে তিনটি গান র্যান্ডমলি সিলেক্ট করতে চাই প্লে করতে। এগুলো সব আমাদের টপ সান্গসের একটি নতুন প্লেলিস্টে যোগ হবে।
নিচের প্রোগ্রাম আমাদের এই টাস্ক সম্পন্ন করতে দেয়:
import random
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
songs_to_play = random.choices(favorite_songs, k=3)
for s in songs_to_play:
print(s)
আমাদের কোড ফেরত দেয়:
Come on Eileen 9 to 5 Ring of Fire
প্রথমে, আমরা random লাইব্রেরি আমাদের কোডে ইম্পোর্ট করেছি। তারপর, আমরা "favorite_songs" নামে একটি পাইথন ভেরিয়েবল ঘোষণা করেছি। এই ভেরিয়েবলটি আমাদের ফেভারিট গানগুলোর একটি তালিকা সংরক্ষণ করে।
পরবর্তীতে, আমরা random.choices() মেথড ব্যবহার করি আমাদের তালিকা থেকে তিনটি গান র্যান্ডমলি সিলেক্ট করতে। random.choices() মেথড একটি গানগুলোর তালিকা ফেরত দিয়েছে।
আমরা একটি পাইথন for লুপ ব্যবহার করি র্যান্ডমলি জেনারেটেড গান অপশনগুলোর তালিকার প্রতিটি আইটেমের মধ্য দিয়ে যেতে। এই লুপ প্রতিটি অপশন কনসোলে প্রিন্ট করে। আপনি দেখতে পাচ্ছেন, আমাদের কোড তিনটি গানের একটি তালিকা ফেরত দিয়েছে যেগুলো আমরা র্যান্ডমলি প্লে করতে পারি।
উপসংহার
random.choice() মেথড একটি তালিকা থেকে র্যান্ডমলি একটি আইটেম সিলেক্ট করে। random.choices() মেথড একটি তালিকা থেকে একাধিক আইটেম র্যান্ডমলি সিলেক্ট করে। এই দুটি মেথডই যেকোনো ডেটা টাইপের মান ফেরত দিতে পারে, যেমন অন্য একটি তালিকা বা একটি নম্বর।
এই টিউটোরিয়ালে, উদাহরণের রেফারেন্সে, একটি তালিকা থেকে র্যান্ডম আইটেম বের করতে এই মেথডগুলো কীভাবে ব্যবহার করবেন তা অন্বেষণ করা হয়েছে। এখন আপনি এই মেথডগুলো একজন পাইথন প্রোর মতো ব্যবহার করার জন্য প্রস্তুত!
শীর্ষ অনলাইন পাইথন রিসোর্স, বই, এবং লার্নিং রিসোর্সের পরামর্শের জন্য, আমাদের How to Learn Python গাইড চেক আউট করুন।