ویدیو ماژول random برای تولید اعداد تصادفی در پایتون

امیرحسین بیگدلو April 2023

کتابخانه random پایتون برای ایجاد انتخاب های تصادفی استفاده میشود. انتخاب ها میتوانند یک عدد یا string و یا یک لیست باشند. نکته ای که مستندات پایتون به آن اشاره کرده این است که از این ماژول به هیچ وجه برای مصارف امنیتی استفاده نکنید. در عوض میتوانید از ماژول secret استفاده کنید.

 

اعداد تصادفی برای آمارشناسان و دانشمندان داده ضروری است. آنها می توانند برای اهداف مختلف مانند توضیح مفاهیم، رمزنگاری، توسعه بازی و غیره استفاده شوند. در پایتون، ما یک کتابخانه (ماژول) به نام "random" داریم که به ما امکان می دهد اعداد تصادفی خود را تولید کنیم. وارد کردن این ماژول به محیط پایتون ساده است. تنها کاری که باید انجام دهید این است که کد زیر را دنبال کنید:

import random as rnd

 

دستور بالا ماژول رندوم را با نام مستعار "rnd" به محیط پایتون شما وارد می کند. به این معنی که از این پس می توانید هر زمان که نیاز به فراخوانی این ماژول دارید از "rnd" استفاده کنید.

 

ویدیو پیشنهادی: ویدیو آموزش function در پایتون

 

اعداد رندوم در محدوده پیش فرض 0 تا 1

روش های مختلفی برای تولید اعداد تصادفی وجود دارد و رایج ترین آنها تولید اعداد تصادفی بین 0 تا 1 است. ما یک تابع داخلی در ماژول random به نام random داریم که به ما امکان می دهد این کار را انجام دهیم. کد زیر را مشاهده کنید:

>>> import random as rnd

>>> rnd_num = rnd.random()
0.03147352453110153

 

توجه: نکته ای که در اینجا ذکر می شود این است که تابع random هرگز نمی تواند یک عدد تصادفی با مقدار 1 ایجاد کند.

 

ویدیو پیشنهادی: ویدیو آموزش ماژول pdb در پایتون

اگر دوباره همان کد را اجرا کنید ، مقدار متفاوتی بین 0 و 1 به عنوان یک عدد رندوم دریافت خواهید کرد:

0.4605405893310375

 

همچنین ، یک مثال دیگر را مشاهده کنید که در آن بیش از یک عدد تصادفی را با استفاده از تابع random بین 0 تا 1 تولید می کنیم:

import random as rnd


for i in range(10):
    rnd_num = rnd.random()
    print(rnd_num)

 

در اینجا ، حلقه for تعداد 10 بار اجرا می شود و تعداد 10 عدد تصادفی بین 0 و 1 را تولید و چاپ می کند. خروجی را مطابق شکل زیر مشاهده کنید:

0.45646931351096676
0.5253643105598688
0.7060118068832385
0.18277997018713843
0.28518247329376045
0.5323148786808892
0.7787939077540817
0.8628648165413073
0.5793933228533307
0.2965310587834651

دوره پیشنهادی: دوره آموزش الگوریتم‌نویسی در پایتون

 

 

ایجاد اعداد تصادفی بین محدوده دلخواه

تابع random عالی به نظر می رسد، اما محدودیت هایی نیز دارد - تولید اعداد تصادفی از محدوده 0 و 1 فراتر نمی رود. از تابع uniform در ماژول random پایتون برای تولید اعداد تصادفی بین محدوده مشخص شده استفاده میشود.

 

نحوه استفاده از تابع uniform به شرح زیر است:

>>> rnd.uniform(3, 6)
5.9170909360898785

 

در اینجا، یک عدد تصادفی بین 3 تا 6 را با استفاده از تابع uniform از ماژول random تولید کردیم. همانطور که در خروجی مشخص است، تابع uniform نیز پاسخ را به شکل یک عدد اعشاری برمیگرداند.

 

 

تولید اعداد تصادفی صحیح

تا کنون، هر عددی تولید کردیم، اعشار بودند. اما برای ایجاد اعداد رندوم صحیح میتوانید از تابع randint استفاده کنید که در یک محدوده خاص، عدد صحیح تصادفی ایجاد میکند.

 

>>> rnd.randint(2, 10)
7

 

در اینجا، ما از تابع randint برای تولید عدد تصادفی صحیح بین 2 تا 10 استفاده می کنیم. نکته ای که در اینجا باید به آن توجه داشت این است که این تابع هنگام تولید اعداد تصادفی مقادیر شروع و پایان را نیز در نظر می گیرد. بنابراین ممکن است اعداد 2 یا 10 نیز جزوی از نتیجه باشند.

 

ویدیو پیشنهادی: ویدیو آموزش کار با markdown در پایتون

 

اگر اعداد صحیح تصادفی بین یک محدوده مشخص شده اما با یک مرحله یا مقدار افزایشی بخواهید، میتوانید از تابع randrange استفاده کنید که به ما امکان می دهد اعداد صحیح تصادفی بین دو محدوده مشخص شده با یک step یا مقدار افزایش تولید کنیم.

import random as rnd


for i in range(10):
	rnd_num = rnd.randrange(1, 16, 4)
	print(rnd_num)

 

در این مثال نتایج با فاصله 4 از همدیگر خواهند. در مثال بالا نتابج از بین عددهای 1, 5, 9, 13 انتخاب خواهد شد.

9
13
5
13
13
1
1
13
13
9

 

اگر ویدیو بالا را دوست داشتید پیشنهاد میکنیم به مطالب زیر هم سر بزنید:

آموزش ماژول platform در پایتون

آموزش ماژول shutil در پایتون

ارزیابی class variableهای پایتون

ویدیو آموزش ماژول datetime در پایتون - کار با تاریخ و زمان

ویدیوهای مشابه



ارسال نظر


amir

5 ماه قبل پاسخ به نظر

منظورش از اینکه برای مصارف امنیتی استفاده نمی کنیم چیه؟ اخه تو دوره جنگو برای احراز هویت کاربر هم از همین ماژول استفاده کردید.

ارسال نظر



امیرحسین بیگدلو

5 ماه قبل

سلام
برای ایجاد کردن پسوورد یا هش ای این ماژول استفاده نکنید. توی دوره جنگو برای ایجاد کردن کد یکبار مصرف از این ماژول استفاده کردیم که مشکلی نداره

sinaaa

8 ماه قبل پاسخ به نظر

ممنون کمک کرد خیلی

ارسال نظر



پیمان

2 سال قبل پاسخ به نظر

میشه یه فرمول بگید که مثلا ده تا اسم بدیم و اسم هر ده تا رو به صورت تصادفی بچینه

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
از همین ماژول، متد shuffle رو استفاده کنید.

محمد

3 سال قبل پاسخ به نظر

روش آموزش جالب بود و میخاستم مثل یوتیوب لایک بزارم ولی نبود پیشنهاد میشه لایک زیر ویدیو بگذارید تا بازدید رو ببره بالا

ارسال نظر



SaLaR

3 سال قبل پاسخ به نظر

شما فوق العاده هستید :)

ارسال نظر



مونگارد