สุ่มจำนวนเต็ม
สามารถสุ่มจำนวนเต็มได้โดยมีลักษณะดังนี้
random.randint(a, b)
a แทน จำนวนเต็มจำนวนแรกของการสุ่ม
b แทน จำนวนเต็มจำนวนสุดท้ายของการสุ่ม
จะเขียนเป็นช่วงทางคณิตศาสตร์ได้ดังนี้
(a,b)
ตัวอย่างการใช้งาน
>>> import random
>>> random.randint(0, 100)
5
สุ่มจำนวนจริง แบบที่ 1
เป็นการสุ่มจำนวนจริงโดยมีเลขทศนิยมประกอบด้วย มีลักษณะการใช้งานดังนี้
random.random()
จะสุ่มในช่วง [0.0, 1.0)
ตัวอย่างการใช้งาน
>>> import random
>>> random.random()
0.28650879462360856
>>> random.random()
0.037645435879774314
สุ่มจำนวนจริง แบบที่ 2
เป็นการสุ่มจำนวนจริงโดยมีเลขทศนิยมประกอบด้วย มีลักษณะการใช้งานดังนี้
random.uniform(a, b)
a คือ จำนวนเริ่มต้น
b คือ จำนวนสุดท้าย
จะสุ่มในช่วง [a,b)
ตัวอย่างการใช้งาน
>>> import random
>>> random.uniform(1, 10) # จะสุ่มจำนวนจริง x โดยที่ 1.0 <= x < 10.0
1.1800146073117523
สุ่มแบบเลือก
การสุ่มแบบเลือก เราสามารถกำหนดรายการให้ Python ทำการสุ่มจากค่าที่เรากำหนดได้โดยจะเป็นตัวอักษร หรือ List มีลักษณะการใช้งานดังนี้
random.choice(ค่าที่กำหนด)
หากต้องการสุ่มตัวอักษรสามารถใส่ค่าลงไป เช่น
random.choice('abcdefghij')
หากต้องการสุ่มชื่อ หรือ รายการต่าง ๆ ให้ใช้ List เช่น
random.choice(['Boy', 'Cat', 'Ton', 'Pop', 'You'])
ตัวอย่างการใช้งาน
>>> import random
>>> random.choice('abcdefghij')
'c'
>>> random.choice([11, 22, 33, 55, 44])
11
>>> random.choice(['Boy', 'Cat', 'Ton', 'Pop', 'You'])
'Ton'
สุ่มสับเปลี่ยนตำแหน่ง
เราสามารถทำได้การสุ่มสับเปลี่ยนตำแหน่งกับ List ใน Python ได้โดยมีลักษณะการใช้งานดังนี้
random.shuffle(List)
ตัวอย่างการใช้งาน
>>> import random
>>> items = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(items)
>>> items
[7, 3, 2, 5, 6, 4, 1]
สุ่มลำดับจำนวนตัวเลข
เราสามารถทำการสุ่มลำดับจำนวนตัวเลข ใน Python ได้โดยมีลักษณะการใช้งานดังนี้
random.randrange(เริ่ม,จบ[, การเพิ่มขึ้น})
ดูเพิ่มเติม https://python3.wannaphong.com/2014/08/การใช้งาน-range-ใน-python.html
ตัวอย่างการใช้งาน
>>> import random
>>> random.randrange(10)
>>> random.randrange(0, 101, 2)
26
สุ่มแบบการแจกแจงปรกติ
เราสามารถทำการสุ่มนี้ได้โดยมีลักษณะดังนี้
random.normalvariate(mu, sigma)
เป็นการสุ่มแบบการแจกแจงปรกติ โดย mu เป็นค่าเฉลี่ย และ sigma เป็นส่วนเบี่ยงเบนมาตรฐาน
หรือจะใช้คำสั่ง
random.gauss(mu, sigma)
โดยคำสั่ง random.gauss จะเร็วกว่า random.normalvariate เล็กน้อย
ตัวอย่างการใช้งาน
>>> import random
>>> import math
>>> my_mean = 0
>>> my_variance = 10
>>> random_numbers = [random.gauss(my_mean, math.sqrt(my_variance)) for i in range(100)]
>>> print(random_numbers)
[-0.6658543305518967, 0.6889294773214457, 4.6094503002405744, -3.104325255983213, -2.704747577492553, 3.7023868816862824,...
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
ขอบคุณค่ะ
ตอบลบ