លេខចៃដន្យអាចត្រូវបានបង្កើតដោយប្រើមុខងារ random(), uniform(), randange() និង randint() នៅក្នុងម៉ូឌុលចៃដន្យនៃបណ្ណាល័យស្តង់ដារ Python ។
ម៉ូឌុលចៃដន្យត្រូវបានរួមបញ្ចូលនៅក្នុងបណ្ណាល័យស្តង់ដារ ដូច្នេះមិនតម្រូវឱ្យមានការដំឡើងបន្ថែមទេ។ ជាការពិតណាស់អ្នកត្រូវនាំចូលវា។
ព័ត៌មានខាងក្រោមត្រូវបានផ្តល់ជូននៅទីនេះ។
random.random()
(លេខចំណុចអណ្តែតរវាង 0.0 និង 1.0)random.uniform()
(ជួរណាមួយនៃលេខចំណុចអណ្តែត)- បង្កើតលេខចៃដន្យដែលធ្វើតាមការចែកចាយធម្មតា ការចែកចាយ Gaussian ។ល។
random.randrange()
(ចំនួនគត់នៃជួរបំពាន និងជំហាន)random.randint()
(ចំនួនគត់ក្នុងជួរណាមួយ។)- ការបង្កើតបញ្ជីដែលមានលេខចៃដន្យជាធាតុ
- បញ្ជីនៃលេខចំណុចអណ្តែតទឹកចៃដន្យ
- បញ្ជីនៃចំនួនគត់ចៃដន្យ
- ចាប់ផ្តើមម៉ាស៊ីនបង្កើតលេខចៃដន្យ (ជួសជុលគ្រាប់ពូជលេខចៃដន្យ)
សូមមើលអត្ថបទខាងក្រោមអំពីរបៀបស្រង់ចេញដោយចៃដន្យ ឬតម្រៀបធាតុនៃបញ្ជីមួយ។
- random.random()(លេខចំណុចអណ្តែតរវាង 0.0 និង 1.0)
- random.uniform()(ជួរណាមួយនៃលេខចំណុចអណ្តែត)
- បង្កើតលេខចៃដន្យដែលធ្វើតាមការចែកចាយធម្មតា ការចែកចាយ Gaussian ។ល។
- random.randrange()(ចំនួនគត់នៃជួរបំពាន និងជំហាន)
- random.randint()(ចំនួនគត់ក្នុងជួរណាមួយ។)
- ការបង្កើតបញ្ជីដែលមានលេខចៃដន្យជាធាតុ
- ចាប់ផ្តើមម៉ាស៊ីនបង្កើតលេខចៃដន្យ (ជួសជុលគ្រាប់ពូជលេខចៃដន្យ)
random.random()(លេខចំណុចអណ្តែតរវាង 0.0 និង 1.0)
មុខងាររបស់ម៉ូឌុលចៃដន្យ random() បង្កើតចំនួនចំនុចអណ្តែតចៃដន្យនៃប្រភេទអណ្តែតដែលមានចន្លោះពី 0.0 និង 1.0 ។
import random
print(random.random())
# 0.4496839011176701
random.uniform()(ជួរណាមួយនៃលេខចំណុចអណ្តែត)
uniform(a, b)
មុខងារនៃម៉ូឌុលចៃដន្យនេះបង្កើតលេខចៃដន្យនៃប្រភេទបណ្តែតលេខអណ្តែតនៅក្នុងជួរណាមួយខាងក្រោម។
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
អាគុយម៉ង់ក៏អាចត្រូវបានបញ្ជាក់ជាបណ្តែតផងដែរ។
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 ។ល។
អនុគមន៍ random() និង uniform() ខាងលើបង្កើតលេខចៃដន្យចែកចាយស្មើៗគ្នា ប៉ុន្តែក៏មានមុខងារដើម្បីបង្កើតលេខចំនុចអណ្តែតទឹក ដែលធ្វើតាមការចែកចាយខាងក្រោម។
- ការចែកចាយបេតា:
random.betavariate()
- ការចែកចាយអិចស្ប៉ូណង់ស្យែល:
random.expovariate()
- ការចែកចាយហ្គាម៉ា:
random.gammavariate()
- ការចែកចាយ Gaussian:
random.gauss()
- ការចែកចាយឡូជីខល:
random.lognormvariate()
- ការចែកចាយធម្មតា។:
random.normalvariate()
- វ៉ុន មីស ចែកចាយ:
random.vonmisesvariate()
- ការចែកចាយ Pareto:
random.paretovariate()
- ការចែកចាយ Weibull:
random.weibullvariate()
ប៉ារ៉ាម៉ែត្រនៃការចែកចាយនីមួយៗត្រូវបានបញ្ជាក់ដោយអាគុយម៉ង់។ សូមមើលឯកសារផ្លូវការសម្រាប់ព័ត៌មានលម្អិត។
random.randrange()(ចំនួនគត់នៃជួរបំពាន និងជំហាន)
randrange(start, stop, step)
មុខងារនៃម៉ូឌុលចៃដន្យនេះត្រឡប់ធាតុដែលបានជ្រើសរើសដោយចៃដន្យពីធាតុខាងក្រោម។range(start, stop, step)
ដូចនឹង range() អាគុយម៉ង់ចាប់ផ្តើម និងជំហានអាចត្រូវបានលុបចោល។ ប្រសិនបើពួកគេត្រូវបានលុបចោល ចាប់ផ្តើម=0 និងជំហាន=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)
មុខងារនៃម៉ូឌុលចៃដន្យនេះត្រឡប់ចំនួន int ចៃដន្យខាងក្រោម។a <= n <= b
randrange(a, b + 1)
ស្មើនឹងនេះ; ចំណាំថាតម្លៃនៃ b ត្រូវបានរួមបញ្ចូលផងដែរនៅក្នុងជួរ។
print(random.randint(50, 100))
# print(random.randrange(50, 101))
# 74
ការបង្កើតបញ្ជីដែលមានលេខចៃដន្យជាធាតុ
នៅក្នុងផ្នែកនេះ យើងនឹងពន្យល់ពីរបៀបប្រើម៉ូឌុលចៃដន្យនៃបណ្ណាល័យស្តង់ដារដើម្បីបង្កើតបញ្ជីដែលមានលេខចៃដន្យជាធាតុ។
បញ្ជីលេខចៃដន្យដែលមានចំណុចអណ្តែត
ដើម្បីបង្កើតបញ្ជីមួយដែលធាតុរបស់វាជាលេខចៃដន្យអណ្តែតទឹក សូមផ្សំអនុគមន៍ចៃដន្យ() និងឯកសណ្ឋាន() ជាមួយនឹងការយល់ដឹងបញ្ជី។
import random
print([random.random() for i in range(5)])
# [0.5518201298350598, 0.3476911314933616, 0.8463426180468342, 0.8949046353303931, 0.40822657702632625]
ក្នុងឧទាហរណ៍ខាងលើ range() ត្រូវបានប្រើ ប៉ុន្តែបញ្ជី និង tuples ក៏អាចធ្វើទៅបានសម្រាប់ចំនួនធាតុដែលចង់បាន។ សម្រាប់ព័ត៌មានលម្អិតបន្ថែមអំពីការយល់ដឹងក្នុងបញ្ជី សូមមើលអត្ថបទខាងក្រោម។
- អត្ថបទដែលទាក់ទង:ការប្រើសញ្ញាសម្គាល់ការយល់បញ្ជី Python
បញ្ជីនៃចំនួនគត់ int ចៃដន្យ
នៅពេលបង្កើតបញ្ជីធាតុដែលមានចំនួនគត់ចៃដន្យ ការរួមបញ្ចូលគ្នារវាង randange() និង randint() ខាងលើជាមួយនឹងសញ្ញាសម្គាល់នៃបញ្ជីអាចបណ្តាលឱ្យមានតម្លៃស្ទួន។
print([random.randint(0, 10) for i in range(5)])
# [8, 5, 7, 10, 7]
ប្រសិនបើអ្នកចង់បង្កើតលំដាប់ចៃដន្យនៃចំនួនគត់ដោយគ្មានការចម្លង ទាញយកធាតុនៃ range() ជាមួយនឹងជួរតាមអំពើចិត្តដោយប្រើ 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() សូមមើលអត្ថបទខាងក្រោម។
ចាប់ផ្តើមម៉ាស៊ីនបង្កើតលេខចៃដន្យ (ជួសជុលគ្រាប់ពូជលេខចៃដន្យ)
ដោយផ្តល់ចំនួនគត់តាមអំពើចិត្តទៅគ្រាប់ពូជមុខងាររបស់ម៉ូឌុលចៃដន្យ () គ្រាប់ពូជលេខចៃដន្យអាចត្រូវបានជួសជុល ហើយម៉ាស៊ីនបង្កើតលេខចៃដន្យអាចត្រូវបានចាប់ផ្តើម។
បន្ទាប់ពីការចាប់ផ្តើមជាមួយគ្រាប់ពូជដូចគ្នា តម្លៃចៃដន្យតែងតែត្រូវបានបង្កើតតាមរបៀបដូចគ្នា។
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