Python:
এলোমেলো সংখ্যা উৎপন্ন করা
কীভাবে:
পাইথন random মডিউল প্রদান করে যা বিভিন্ন ব্যবহারের জন্য র্যান্ডম সংখ্যা উৎপাদনে সাহায্য করে। এটি দিয়ে শুরু করার পদ্ধতি নিম্নে দেওয়া হল:
মডিউল আমদানি
import randomর্যান্ডম একটি পূর্ণসংখ্যা উৎপাদন যেকোনো দুই সংখ্যার মধ্যে।
random_integer = random.randint(1, 10) print(random_integer)নমুনা আউটপুট:
7একটি ফ্লোট সংখ্যা উৎপাদন 0 এবং 1 এর মধ্যে।
random_float = random.random() print(random_float)নমুনা আউটপুট:
0.436432634653যদি আপনার ভিন্ন পরিসরে একটি ফ্লোট প্রয়োজন হয়, গুণ করুন:
random_float_range = random.random() * 5 # 0 থেকে 5 print(random_float_range)নমুনা আউটপুট:
3.182093745একটি তালিকা থেকে একটি র্যান্ডম উপাদান বাছাই
greetings = ['Hello', 'Hi', 'Hey', 'Hola', 'Bonjour'] print(random.choice(greetings))নমুনা আউটপুট:
Holaএকটি তালিকা মিশ্রণ কার্ড গেমস বা যে কোনো অ্যাপ্লিকেশনের জন্য নিখুঁত যার অর্ডার র্যান্ডমাইজ করা প্রয়োজন।
numbers = list(range(10)) random.shuffle(numbers) print(numbers)নমুনা আউটপুট:
[2, 5, 0, 4, 9, 8, 1, 7, 6, 3]
গভীর ডাইভ
পাইথনের random মডিউল একটি ছদ্মর্যান্ডম সংখ্যা জেনারেটর (PRNG) ব্যবহার করে, বিশেষত মার্সেন টুইস্টার অ্যালগরিদম, যা সাধারণ উদ্দেশ্যের অ্যাপ্লিকেশনের জন্য ভালো কিন্তু ক্রিপ্টোগ্রাফিক উদ্দেশ্যে উপযুক্ত নয় যদি যথেষ্ট আউটপুট পর্যবেক্ষণ করা হয়। পাইথন 3.6-এ প্রবর্তিত secrets মডিউল নিরাপত্তা-সচেতন অ্যাপ্লিকেশনে ক্রিপ্টোগ্রাফিকভাবে শক্তিশালী র্যান্ডম সংখ্যা উৎপাদনের জন্য একটি উত্তম বিকল্প অফার করে, উদাহরণস্বরূপ, একটি পাসওয়ার্ড রিসেট লিংকের জন্য একটি নিরাপদ, র্যান্ডম টোকেন উৎপাদন করা:
import secrets
token = secrets.token_hex(16)
print(token)ইতিহাসে, সত্যিই র্যান্ডম সংখ্যা উৎপাদন করা সবসময় একটি চ্যালেঞ্জ ছিল কম্পিউটিং-এ, প্রারম্ভিক পদ্ধতিগুলি শারীরিক ঘটনা বা ম্যানুয়ালি প্রবেশ করানো সিডের উপর নির্ভর করে। মার্সেন টুইস্টারের মতো অ্যালগরিদমের উন্নয়ন এবং গ্রহণের সাথে সাথে (যা আমার শেষ জ্ঞান আপডেটে 2023 পর্যন্ত অন্তত পাইথনের random মডিউলে ডিফল্ট হিসেবে ব্যবহৃত হয়েছে) লক্ষণীয় অগ্রগতি চিহ্নিত হয়েছে। তবে, আরও নিরাপদ এবং দক্ষ অ্যালগরিদমের খোঁজে চলমান প্রচেষ্টা softwareর উন্নয়নে নিরাপত্তার বর্ধমান গুরুত্ব এবং এনক্রিপশন থেকে নিরাপদ টোকেন উৎপাদনের মতো অ্যাপ্লিকেশনগুলিতে আরও রবাস্ট র্যান্ডমনেসের প্রয়োজনের প্রতিফলন করে।