در این قسمت تیم کدگیت را با آموزش ماژول random در پایتون همراهی کنید. در ابتدای این آموزش به معرفی ماژول random خواهیم پرداخت و در ادامه توابع و کاربردهای آن را معرفی، سپس مثالهایی را در هر بخش پیاده سازی خواهیم کرد. با ما همراه باشید تا این ماژول را به شما معرفی کنیم. میتوانید پیشنیازهای این جلسه را در صورت تمایل مطالعه نمایید:
ماژول random در پایتون
در برنامهنویسی زمانی پیشخواهد آمد که نیاز دارید انتخابی تصادفی انجام دهید یا عددی تصادفی انتخاب کنید شاید هم بخواهید در بازی خود هر بار مرحلهای به صورت تصادفی انتخاب شود تا بازی برای کاربر تکراری نشود. برای تمامی مثالهای بالا میتوان از ماژول Random استفاده کرد. این ماژول توابع مختلفی را در خود دارد که با صدا زدن آنها میتوان پیاده سازی خودمان را انجام دهیم.
برخی توابع مهم این ماژول به صورت زیر میباشد:
- ()random: این تابع در خروجی عددی تصادفی در محدوده صفر تا یک ایجاد میکند.
- Randint(start,end): با کمک randint می توان در محدوده start و end عددی تصادفی ایجاد کرد. عددی که تولید میشود integer خواهد بود.
- Choice(list): تابع choice یک لیست را در ورودی دریافت می کند و در خروجی یکی از عناصر لیست را به صورت تصادفی انتخاب میکند.
- Shuffle(list): اگر بخواهید ترتیب عناصر لیست را به صورت تصادفی تغییر دهید می توانید از این تابع استفاده کنید.
- Sample(sequence,k): از بین sequence که در ورودی میگیرد لیستی را با تعداد k به صورت تصادفی انتخاب میکند. در خروجی این لیست بازگردانی میشود. همچنین sequence می تواند String یا list یا tuple یا Set باشد.
انتخاب عدد Random
می خواهیم با کمک ماژول Random در پایتون عددی تصادفی ایجاد کنیم. از توابع که در قسمت بالا توضیح دادیم استفاده خواهیم کرد:
import random
a = random.random()
b = random.random()
print(a)
print(b)
در کد بالا دو عدد تصادفی بین صفر تا یک ایجاد کردیم. این اعداد را با کمک دستور پرینت چاپ میکنیم(با هر بار اجرای دستور بالا خروجی متفاوت خواهد بود):
0.6791146889718724
0.36968778838836225
در مثال دوم میخواهیم دو عدد integer به صورت تصادفی ایجاد کنیم و حاصلضرب این دو را چاپ کنیم:
import random
a = random.randint(0,10)
b = random.randint(20,30)
print(a)
print(b)
print(a*b)
متغیرهای a و b به صورت تصادفی با کمک تابع randint ایجاد کردیم. محدوده 0 الی 10 برای متغیر a انتخاب گردیده، پس می دانیم مقدار a در این محدوده خواهد بود. محدوده b نیز بین 20 الی 30 می باشد. خروجی کد بالا به صورت زیر خواهد بود:
Random و لیست
میخواهیم برنامهای بنویسیم که لیستی از اعداد تصادفی را ایجاد کند. این اعداد باید بین 0 تا 100 باشند. برای این کار از ماژول Random در پایتون کمک میگیریم:
import random
rand_list=[]
for i in range(10):
rand_list.append(random.randint(0,100))
print(rand_list)
در بالا 10 عدد تصادفی درون لیست rand_list ذخیره و آن را نمایش دادیم. خروجی کد به صورت زیر میباشد:
[2, 10, 68, 43, 10, 61, 9, 3, 57, 20]
در مثال بعد میخواهیم از بین list1 تعداد 3 عدد به صورت تصادفی جداسازی شود. کد این مثال به صورت زیر است:
import random
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(sample(list1,3))
با کمک تابع sample و ورودیهای list1 و 3 میتوانیم سه عدد به صورت تصادفی از لیست جدا کنیم. خروجی مثال بالا به صورت زیر است: