Python chuẩn có module random cung cấp các hàm sinh số ngẫu nhiên dựa trên thuật toán Mersenne Twister.
Hàm thường dùng
| Hàm | Mô tả | Ví dụ |
|---|---|---|
random() | Số thực ngẫu nhiên [0.0, 1.0) | 0.52047... |
randrange(start, stop[, step]) | Số nguyên ngẫu nhiên trong range | randrange(0, 10) → 4 |
randint(a, b) | Số nguyên ngẫu nhiên [a, b] (cả 2 đầu) | randint(1, 6) → 3 |
choice(seq) | Chọn ngẫu nhiên 1 phần tử từ sequence | choice([10,20,30]) → 20 |
choices(population, k=n) | Chọn n phần tử (có thể trùng) | choices([1,2,3], k=2) |
sample(population, k) | Chọn k phần tử không trùng | sample(range(100), 5) |
shuffle(list) | Trộn list in-place | shuffle(my_list) |
uniform(a, b) | Số thực ngẫu nhiên [a, b] | uniform(1.5, 3.5) |
Ví dụ
import random print(random.random()) # 0.5204702770265925 print(random.randrange(0, 10)) # 4 print(random.choice([10,20,30,40,50])) # 40 print(random.choice((10,20,30,40,50))) # 20
Lưu ý: Số ngẫu nhiên này là pseudo-random (giả ngẫu nhiên), không dùng cho mật mã học. Dùng secrets module cho mục đích bảo mật.