ကျပန်းနံပါတ်များကို Python စံပြစာကြည့်တိုက်၏ ကျပန်း module တွင် ကျပန်း(), ယူနီဖောင်း(), randange(), နှင့် Randint() လုပ်ဆောင်ချက်များကို အသုံးပြု၍ ထုတ်ပေးနိုင်သည်။
ကျပန်း module ကို စံစာကြည့်တိုက်တွင် ထည့်သွင်းထားသောကြောင့် ထပ်မံထည့်သွင်းရန်မလိုအပ်ပါ။ ဟုတ်ပါတယ်, သင်ကတင်သွင်းဖို့လိုအပ်ပါတယ်။
အောက်ပါအချက်အလက်များကို ဤနေရာတွင် ဖော်ပြပေးထားပါသည်။
random.random()
(ရေပေါ်အမှတ် 0.0 နှင့် 1.0 ကြား)random.uniform()
(ရေပေါ်အမှတ်၏ မည်သည့်အကွာအဝေးမဆို)- ပုံမှန်ဖြန့်ဖြူးမှု၊ Gaussian ဖြန့်ဖြူးမှုစသည်တို့ကို လိုက်နာသော ကျပန်းနံပါတ်များကို ဖန်တီးပါ။
random.randrange()
(မတရားသော အပိုင်းအခြားနှင့် အဆင့်၏ ကိန်းပြည့်)random.randint()
(မည်သည့်အပိုင်းအခြားရှိ ကိန်းပြည့်)- အစိတ်အပိုင်းများအဖြစ် ကျပန်းနံပါတ်များဖြင့် စာရင်းတစ်ခုထုတ်ပေးခြင်း။
- ကျပန်းရေပေါ်အမှတ်နံပါတ်များစာရင်း
- ကိန်းပြည့်ကျပန်းနံပါတ်များစာရင်း
- ကျပန်း နံပါတ် ဂျင်နရေတာ ကို စတင်ပါ (ကျပန်း နံပါတ် မျိုးစေ့ကို ပြင်ဆင်ပါ)
စာရင်းတစ်ခု၏ အစိတ်အပိုင်းများကို ကျပန်းထုတ်နည်း သို့မဟုတ် အမျိုးအစားခွဲပုံအကြောင်း အောက်ပါဆောင်းပါးကို ကြည့်ပါ။
- ဆက်စပ်ဆောင်းပါးများ-choice(), sample(), choices() ကို အသုံးပြု၍ Python ရှိ စာရင်းတစ်ခုမှ ကျပန်းဒြပ်စင်များကို ရွေးချယ်ခြင်း
- random.random()(ရေပေါ်အမှတ် 0.0 နှင့် 1.0 ကြား)
- random.uniform()(ရေပေါ်အမှတ်၏ မည်သည့်အကွာအဝေးမဆို)
- ပုံမှန်ဖြန့်ဖြူးမှု၊ Gaussian ဖြန့်ဖြူးမှုစသည်တို့ကို လိုက်နာသော ကျပန်းနံပါတ်များကို ဖန်တီးပါ။
- random.randrange()(မတရားသော အပိုင်းအခြားနှင့် အဆင့်၏ ကိန်းပြည့်)
- random.randint()(မည်သည့်အပိုင်းအခြားရှိ ကိန်းပြည့်)
- အစိတ်အပိုင်းများအဖြစ် ကျပန်းနံပါတ်များဖြင့် စာရင်းတစ်ခုထုတ်ပေးခြင်း။
- ကျပန်း နံပါတ် ဂျင်နရေတာ ကို စတင်ပါ (ကျပန်း နံပါတ် မျိုးစေ့ကို ပြင်ဆင်ပါ)
random.random()(ရေပေါ်အမှတ် 0.0 နှင့် 1.0 ကြား)
ကျပန်း module ၏လုပ်ဆောင်ချက် random() သည် 0.0 နှင့် 1.0 ကြားရှိသည့် အမျိုးအစား float ၏ ကျပန်း Float နံပါတ်တစ်ခုကို ထုတ်ပေးသည်။
import random
print(random.random())
# 0.4496839011176701
random.uniform()(ရေပေါ်အမှတ်၏ မည်သည့်အကွာအဝေးမဆို)
uniform(a, b)
ဤကျပန်း module ၏ လုပ်ဆောင်ချက်များသည် အောက်ဖော်ပြပါ အပိုင်းအခြားများထဲမှ တစ်ခုခုတွင် Float-point နံပါတ် float အမျိုးအစား၏ ကျပန်းနံပါတ်များကို ထုတ်ပေးသည်
a <= n <= b
b <= n <= a
import random
print(random.uniform(100, 200))
# 175.26585048238275
ငြင်းခုံမှုနှစ်ခုသည် ပိုကြီးသည် သို့မဟုတ် သေးငယ်နိုင်သည်။ ညီမျှလျှင် ထိုတန်ဖိုးကို သဘာဝအတိုင်း ပြန်ပေးလိမ့်မည်။ ပြန်လာတန်ဖိုးသည် အမြဲတမ်းမျှောနေပါသည်။
print(random.uniform(100, -100))
# -27.82338731501028
print(random.uniform(100, 100))
# 100.0
အငြင်းအခုံကိုလည်း float အဖြစ် သတ်မှတ်နိုင်သည်။
print(random.uniform(1.234, 5.637))
# 2.606743596829249
b ၏တန်ဖိုးသည် အကွာအဝေးတွင်ပါဝင်ခြင်းရှိမရှိ မှတ်တမ်းပြုစုထားသည့်အတိုင်း အောက်ပါအဝိုင်းပေါ်တွင် မူတည်သည်။a + (b-a) * random.random()
အဆုံးမှတ်တန်ဖိုး b သည် အကွာအဝေးတွင်ရှိ၊ မရှိသည် အောက်ဖော်ပြပါညီမျှခြင်းရှိ ရေပေါ်အမှတ်ကို ပတ်ခြင်းအပေါ် မူတည်သည်။
a + (b-a) * random()
random.uniform() — Generate pseudo-random numbers — Python 3.10.2 Documentation
ပုံမှန်ဖြန့်ဖြူးမှု၊ Gaussian ဖြန့်ဖြူးမှုစသည်တို့ကို လိုက်နာသော ကျပန်းနံပါတ်များကို ဖန်တီးပါ။
အထက်ဖော်ပြပါ ကျပန်း() နှင့် ယူနီဖောင်း() လုပ်ဆောင်ချက်များသည် တစ်ပြေးညီ ဖြန့်ဝေထားသော ကျပန်းနံပါတ်များကို ထုတ်ပေးသည်၊ သို့သော် အောက်ဖော်ပြပါ ဖြန့်ဝေမှုအတိုင်း လုပ်ဆောင်သည့် floating point နံပါတ်များကို ထုတ်လုပ်ရန် လုပ်ဆောင်ချက်များလည်း ရှိပါသည်။
- ဘီတာဖြန့်ချီရေး:
random.betavariate()
- ထပ်ကိန်းခွဲဝေမှု:
random.expovariate()
- gamma ဖြန့်ဖြူးခြင်း။:
random.gammavariate()
- Gaussian ဖြန့်ဖြူးခြင်း။:
random.gauss()
- ပုံမှန်မဟုတ်သောဖြန့်ဖြူးမှု:
random.lognormvariate()
- ပုံမှန်ဖြန့်ဖြူး:
random.normalvariate()
- Von Mises ဖြန့်ချီရေး:
random.vonmisesvariate()
- Pareto ဖြန့်ဖြူးခြင်း။:
random.paretovariate()
- Weibull ဖြန့်ချီရေး:
random.weibullvariate()
ဖြန့်ဖြူးမှုတစ်ခုစီ၏ ဘောင်များကို အကြောင်းပြချက်များဖြင့် သတ်မှတ်ထားသည်။ အသေးစိတ်အချက်အလက်များအတွက် တရားဝင်စာရွက်စာတမ်းကို ကြည့်ပါ။
random.randrange()(မတရားသော အပိုင်းအခြားနှင့် အဆင့်၏ ကိန်းပြည့်)
randrange(start, stop, step)
ဤကျပန်း module ၏လုပ်ဆောင်ချက်သည် အောက်ပါဒြပ်စင်များမှ ကျပန်းရွေးချယ်ထားသောဒြပ်စင်ကို ပြန်ပေးသည်။range(start, stop, step)
range() ကဲ့သို့ပင် အကြောင်းပြချက်များကို စတင်ခြင်းနှင့် အဆင့်ကို ချန်လှပ်ထားနိုင်သည်။ ၎င်းတို့ကို ချန်လှပ်ထားပါက start=0 နှင့် step=1။
import random
print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(random.randrange(10))
# 5
အငြင်းအခုံ အဆင့်ကို ပင်(သို့) ထူးဆန်းသော ကျပန်း ကိန်းပြည့် သို့မဟုတ် သုံးမျိုး၏ တိုးကိန်းဖြစ်သော ကျပန်း ကိန်းပြည့်ကို ဖန်တီးရန် သတ်မှတ်နိုင်သည်။
ဥပမာအားဖြင့်၊ စတင်သည်နှင့် အဆင့် = 2 ဖြစ်ပါက၊ အပိုင်းအခြားရှိ ကိန်းပြည့်များကိုပင် ကျပန်းရနိုင်သည်။
print(list(range(10, 20, 2)))
# [10, 12, 14, 16, 18]
print(random.randrange(10, 20, 2))
# 18
random.randint()(မည်သည့်အပိုင်းအခြားရှိ ကိန်းပြည့်)
randint(a, b)
ဤကျပန်း module ၏လုပ်ဆောင်ချက်သည် အောက်ပါကျပန်း ကိန်းပြည့် int ကို ပြန်ပေးသည်။a <= n <= b
randrange(a, b + 1)
ဤနှင့်ညီမျှသည်; b ၏တန်ဖိုးကိုလည်း အပိုင်းအခြားတွင် ထည့်သွင်းထားကြောင်း သတိပြုပါ။
print(random.randint(50, 100))
# print(random.randrange(50, 101))
# 74
အစိတ်အပိုင်းများအဖြစ် ကျပန်းနံပါတ်များဖြင့် စာရင်းတစ်ခုထုတ်ပေးခြင်း။
ဤကဏ္ဍတွင်၊ ကျပန်းနံပါတ်များဖြင့် အစိတ်အပိုင်းများအဖြစ် စာရင်းတစ်ခုထုတ်လုပ်ရန် စံစာကြည့်တိုက်၏ ကျပန်း module ကို အသုံးပြုပုံကို ရှင်းပြပါမည်။
Float-point float ဖြင့် ကျပန်းနံပါတ်များစာရင်း
ဒြပ်စင်များသည် Floating-Point ကျပန်းနံပါတ်များဖြစ်ကြသည့် စာရင်းတစ်ခုကို ဖန်တီးရန်၊ ကျပန်း() နှင့် ယူနီဖောင်း() လုပ်ဆောင်ချက်များကို စာရင်းနားလည်မှုအမှတ်အသားဖြင့် ပေါင်းစပ်ပါ။
import random
print([random.random() for i in range(5)])
# [0.5518201298350598, 0.3476911314933616, 0.8463426180468342, 0.8949046353303931, 0.40822657702632625]
အထက်ဖော်ပြပါ ဥပမာတွင်၊ range() ကို အသုံးပြုသော်လည်း လိုချင်သောဒြပ်စင်အရေအတွက်အတွက် စာရင်းများနှင့် tuples များကိုလည်း ဖြစ်နိုင်သည်။ စာရင်းနားလည်မှုဆိုင်ရာ အသေးစိတ်အချက်အလက်များအတွက်၊ အောက်ပါဆောင်းပါးကို ဖတ်ရှုပါ။
- ဆက်စပ်ဆောင်းပါးများ-Python list ၏ နားလည်နိုင်စွမ်း အမှတ်အသားကို အသုံးပြုခြင်း။
ကိန်းပြည့် int ကျပန်းနံပါတ်များစာရင်း
ဒြပ်စင်များသည် ကိန်းပြည့်ကျပန်းနံပါတ်များဖြစ်ကြသည့် စာရင်းတစ်ခုကို ဖန်တီးသောအခါ၊ အထက်ဖော်ပြပါ randange() နှင့် randint() တို့ကို စာရင်းနားလည်မှုအမှတ်အသားဖြင့် ပေါင်းစပ်ခြင်းဖြင့် တန်ဖိုးများ ထပ်နေနိုင်သည်။
print([random.randint(0, 10) for i in range(5)])
# [8, 5, 7, 10, 7]
ထပ်ပွားခြင်းမပြုဘဲ ကိန်းပြည့်များ၏ ကျပန်း sequence ကို ပြုလုပ်လိုပါက၊ Random.sample() ကို အသုံးပြု၍ မတရားသော အပိုင်းအခြားဖြင့် အပိုင်း() ၏ အစိတ်အပိုင်းများကို ထုတ်ယူပါ။
print(random.sample(range(10), k=5))
# [6, 4, 3, 7, 5]
print(random.sample(range(100, 200, 10), k=5))
# [130, 190, 140, 150, 170]
random.sample() အကြောင်း ပိုမိုသိရှိလိုပါက အောက်ပါဆောင်းပါးကို ဖတ်ရှုပါ။
- ဆက်စပ်ဆောင်းပါးများ-choice(), sample(), choices() ကို အသုံးပြု၍ Python ရှိ စာရင်းတစ်ခုမှ ကျပန်းဒြပ်စင်များကို ရွေးချယ်ခြင်း
ကျပန်း နံပါတ် ဂျင်နရေတာ ကို စတင်ပါ (ကျပန်း နံပါတ် မျိုးစေ့ကို ပြင်ဆင်ပါ)
ကျပန်း module ၏ function seed() သို့ မထင်သလို ကိန်းပြည့်တစ်ခု ပေးခြင်းဖြင့် ကျပန်းနံပါတ်အမျိုးအနွယ်ကို ပြုပြင်နိုင်ပြီး ကျပန်းနံပါတ် ဂျင်နရေတာကို စတင်နိုင်ပါသည်။
တူညီသောမျိုးစေ့ဖြင့် အစပြုပြီးနောက်၊ ကျပန်းတန်ဖိုးကို အမြဲတူညီသောနည်းဖြင့် ထုတ်ပေးပါသည်။
random.seed(0)
print(random.random())
# 0.8444218515250481
print(random.random())
# 0.7579544029403025
random.seed(0)
print(random.random())
# 0.8444218515250481
print(random.random())
# 0.7579544029403025