কম্পিউটার

পাইথনে ছদ্ম-র্যান্ডম সংখ্যা তৈরি করুন


অনেক কম্পিউটার অ্যাপ্লিকেশানের র‍্যান্ডম নম্বর জেনারেট করা প্রয়োজন৷ যাইহোক, তাদের কেউই সত্যিকারের র্যান্ডম সংখ্যা তৈরি করে না। পাইথন, অন্যান্য প্রোগ্রামিং কৌশলের মতো, একটি ছদ্ম-র্যান্ডম জেনারেটর ব্যবহার করে। পাইথনের র্যান্ডম জেনারেশন মারসেন টুইস্টার অ্যালগরিদমের উপর ভিত্তি করে যা 53-বিট নির্ভুল ফ্লোট তৈরি করে। কৌশলটি দ্রুত এবং থ্রেড-নিরাপদ কিন্তু ক্রিপ্টোগ্রাফিক উদ্দেশ্যে উপযুক্ত নয়।

পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে র্যান্ডম মডিউল রয়েছে যা র্যান্ডমাইজেশন পরিচালনার জন্য বিভিন্ন ফাংশনকে সংজ্ঞায়িত করে৷

random.seed() − এই ফাংশনটি র্যান্ডম সংখ্যা জেনারেটরকে শুরু করে। যখন র্যান্ডম মডিউল আমদানি করা হয়, তখন সিস্টেম সময়ের সাহায্যে জেনারেটর শুরু হয়। জেনারেটর রিসিড করতে, যেকোনো int, str, byte বা bytearray অবজেক্ট ব্যবহার করুন।

random.getstate() − setstate() ফাংশনের সাথে এই ফাংশনটি একই র্যান্ডম ডেটা বারবার পুনরুত্পাদন করতে সাহায্য করে। getstate() ফাংশন র্যান্ডম নম্বর জেনারেটরের অভ্যন্তরীণ অবস্থা প্রদান করে।

random.setstate() − এই ফাংশন জেনারেটরের অভ্যন্তরীণ অবস্থা পুনঃস্থাপন করে।

নিম্নোক্ত ফাংশনগুলি এলোমেলো পূর্ণসংখ্যা সংখ্যা তৈরি করে -

random.randrange() − এই ফাংশনটি প্রদত্ত পরিসরের মধ্যে একটি এলোমেলো পূর্ণসংখ্যা তৈরি করে। এটি তিনটি প্যারামিটার নিতে পারে৷

random.randrange(শুরু, থামা, ধাপ)

শুরু এবং ধাপ পরামিতি ঐচ্ছিক. তাদের ডিফল্ট মান যথাক্রমে 0 এবং 1। ধাপ ধারাবাহিক সংখ্যার মধ্যে ব্যবধান নির্ধারণ করে।

>>> random.randrange(10)5>>> random.randrange(10, 20)17>>> random.randrange(100, 200, 2)188

(দ্রষ্টব্য:মনে রাখবেন যে উপরের বিবৃতিগুলির আউটপুট, এবং এই নিবন্ধের বাকি বিবৃতিগুলি একই রকম নাও হতে পারে যেগুলি এলোমেলোভাবে তৈরি করা হয়েছে)

random.randint() - এই ফাংশন দুটি পরামিতির মধ্যে একটি এলোমেলো পূর্ণসংখ্যা তৈরি করে। এটা স্টেপ প্যারামিটার ছাড়া randrange() ফাংশনের অনুরূপ। স্টার্ট প্যারামিটার বাধ্যতামূলক।

>>> random.randint(1,10)6>>> random.randint(100, 200)134

নিম্নলিখিত ফাংশন ফ্লোটিং পয়েন্ট র্যান্ডম সংখ্যার সাথে ডিল করে।

random.random() − এই ফাংশনটি এলোমেলোভাবে 0.0 এবং 1.0 এর মধ্যে একটি ফ্লোটিং পয়েন্ট সংখ্যা তৈরি করে

>>> random.random()0.668544544081956

random.uniform() − এই ফাংশন দুটি প্যারামিটারের মধ্যে একটি ফ্লোটিং পয়েন্ট র্যান্ডম সংখ্যা প্রদান করে।

>>> random.uniform(0.5,1.5)1.2760281470664903>>> random.uniform(1,10)7.336985794193224>>> random.uniform(10,5)7.817794757 

নিম্নলিখিত ফাংশন ক্রম বস্তুর উপর কাজ করে যেমন। স্ট্রিং, তালিকা বা টিপল।

random.choice() − এই ফাংশনটি ক্রম থেকে একটি এলোমেলো উপাদান বেছে নেয়। ক্রমটি খালি থাকলে, IndexError নিক্ষেপ করা হয়।

>>> random.choice("Tutorialspoint")'o'>>> random.choice(range(10))2>>> random.choice([15,31,6,29,55, 5] 55>>> random.choice((15,31,6,29,25, 55))15

random.choices() - এই ফাংশনটি এলোমেলোভাবে একটি তালিকা থেকে একাধিক উপাদান বেছে নেয়। এই ফাংশনের প্রথম প্যারামিটার হল সিকোয়েন্স এবং দ্বিতীয় প্যারামিটার হল পছন্দের সংখ্যা।

>>> name ="TutorialsPoint">>> random.choices(name, k =2)['T', 'o']

random.shuffle() − এই ফাংশন উপাদানগুলিকে পরিবর্তনযোগ্য ক্রমানুসারে পুনরায় সাজায় এবং এলোমেলোভাবে রাখে৷

>>> সংখ্যা =[10,20,30,40,50]>>> random.shuffle(num)>>> num[50, 20, 40, 30, 10] 

random.sample() - এই ফাংশনটি অপরিবর্তনীয় সিকোয়েন্সের সাথে কাজ করে। এটি অক্ষত রেখে ক্রম থেকে এলোমেলোভাবে নির্বাচিত আইটেমগুলির একটি তালিকা প্রদান করে৷

>>> name ="TutorialsPoint">>> nm =random.sample(name, k =2)>>> name, nm('TutorialsPoint', ['i', 'a'])

  1. পাইথনে issubset() ফাংশন

  2. পাইথনে আর্মস্ট্রং নম্বর কিভাবে তৈরি করবেন?

  3. পাইথন ব্যবহার করে মৌলিক সংখ্যা কিভাবে তৈরি করবেন?

  4. পাইথন কিভাবে এলোমেলো সংখ্যা তৈরি করে?