Random Module

random.choice() နှင့် random.choices()

random.choice() နှင့် random.choices() အကြောင်းကို ဥပမာတစ်ချို့ဖြင့် ရှင်းပြထားသည်။ random.choice() သည် မိမိထည့်ပေးလိုက်သည့် ဒေတာတွေထဲမှ တစ်ကြိမ်တွင် တစ်ခုကိုသာ randomly ရွေးချယ်ပေးသည်။

Random Module ကို အသုံးပြုရန်အတွက် import လုပ်ရန် လိုသည်။

random.choice()

random.choice() သည် random module ထဲမှ choice() ကို အသုံးပြုခြင်း ဖြစ်သည်။

အောက်က ဥပမာတွင် ၁ မှ ၉ အတွင်း [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] မှ တစ်ကြိမ်တွင် တစ်ခုကို randomly ရွေးချယ်ပေးသည့် ဥပမာ ဖြစ်သည်။

In [1]:
import random
random.choice([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Out[1]:
1

random.choice() မှ လက်သည်းကွင်းအတွင်းသို့ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ဖြင့် သော်လည်းကောင်း list သို့မဟုတ် tuple အနေဖြင့် သော်လည်းကောင်းထည့်ပေးနိုင်သည်။

In [2]:
my_tuple = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
random.choice(my_tuple)
Out[2]:
7
In [3]:
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
random.choice(my_list)
Out[3]:
0

အောက်တွင် list တစ်ကို range() function ဖြင့် တည်ဆောက်ပြီး ထည့်ပေးခြင်းဖြစ်သည်။

In [4]:
my_list = list(range(0,10))
random.choice(my_list)
Out[4]:
7
In [5]:
numberList = [11, 19, 21, 29, 46]
print("Random item from the list is: ", random.choice(numberList))
Random item from the list is:  21

random.choices()

random.choices(sequence, weights=None, cum_weights=None, k=1)

random.choices() သည် ထည့်ပေးသည့် ဒေတာများထဲမှာ မိမိအလိုရှိသည့် အရေအတွက် အတိုင်း randomly ထုတ်ယူနိုင်သည်။ ထည့်ပေးသည့် ဒေတာသည် (၃) ခု ဖြစ်သော်လည်း ၁၄ ခု ထုတ်ယူနိုင်သည်။ ထို့ကြောင့် ထပ်နေသည့် ဒေတာများ ပါလာလိမ်မည်။ ထို့အပြင် weights ကိုလည်း ထည့်ပေးနိုင်သည်။ ဥပမာ ရန်ကုန် မန္တလေး မေမြို့ စသည့် မြို့ (၃)မြို့ မှ randomly ၁၄ ခါ ထုတ်ယူသည့်အခါ ရန်ကုန် ပါသည့် အကြိမ်အရေအတွက် များများ အလိုရှိပါက ရန်ကုန်၏ weights ကို များပေးထားနိုင်သည်။

weights သည် သက်ဆိုင်သည့် ဒေတာ၏ weights ဖြစ်သည်။ k သည် မိမိအလိုရှိသည့် အရေအတွက်ဖြစ်သည်။ အောက်တွင် ရန်ကုန် အတွက် weights သည် ၅ ဖြစ်ပြီး ကျန်မြို့များအတွက် ၁ သာ ဖြစ်သည်။ weights = [5, 1, 1] ထို့ကြောင့် randomly ၁၄ ခုတွင် အများစုမှာ ရန်ကုန် ဖြစ်နေသည်ကို တွေ့ရလိမ့်မည်။

In [6]:
mylist = ["Yangon", "Mandalay", "Maymo"]
print(random.choices(mylist, weights = [5, 1, 1], k = 14))
['Maymo', 'Yangon', 'Yangon', 'Yangon', 'Yangon', 'Mandalay', 'Mandalay', 'Yangon', 'Mandalay', 'Yangon', 'Yangon', 'Maymo', 'Yangon', 'Yangon']

အောက်တွင် မန္တလေး အတွက် weights သည် ၅ ဖြစ်ပြီး ကျန်မြို့များအတွက် ၁ သာ ဖြစ်သည်။ weights = [1, 5, 1] ထို့ကြောင့် randomly ၁၄ ခုတွင် အများစုမှာ မန္တလေး ဖြစ်နေသည်ကို တွေ့ရလိမ့်မည်။

In [7]:
mylist = ["Yangon", "Mandalay", "Maymo"]
print(random.choices(mylist, weights = [1, 5, 1], k = 14))
['Maymo', 'Maymo', 'Mandalay', 'Mandalay', 'Mandalay', 'Mandalay', 'Yangon', 'Yangon', 'Mandalay', 'Mandalay', 'Yangon', 'Mandalay', 'Mandalay', 'Mandalay']

အောက်တွင် မေမြို့ အတွက် weights သည် ၅ ဖြစ်ပြီး ကျန်မြို့များအတွက် ၁ သာ ဖြစ်သည်။ weights = [1, 1, 5] ထို့ကြောင့် randomly ၁၄ ခုတွင် အများစုမှာ မေမြို့ ဖြစ်နေသည်ကို တွေ့ရလိမ့်မည်။

In [8]:
mylist = ["Yangon", "Mandalay", "Maymo"]
print(random.choices(mylist, weights = [1, 1, 5], k = 14))
['Maymo', 'Maymo', 'Maymo', 'Maymo', 'Maymo', 'Maymo', 'Maymo', 'Maymo', 'Maymo', 'Maymo', 'Yangon', 'Mandalay', 'Maymo', 'Maymo']

weights = [1, 1, 1] နှင့် ၁၀ခု သာ ထုတ်ယူထားသည်။

In [9]:
mylist = ["Yangon", "Mandalay", "Maymo"]
print(random.choices(mylist, weights = [1, 1, 1], k = 10))
['Mandalay', 'Maymo', 'Mandalay', 'Yangon', 'Yangon', 'Mandalay', 'Mandalay', 'Mandalay', 'Maymo', 'Yangon']