Cách tạo số ngẫu nhiên trong Python (Mô-đun ngẫu nhiên)

Tìm hiểu cách tạo số ngẫu nhiên trong Python. So sánh việc tạo ra ngẫu nhiên, randint và đồng nhất với kiểm soát gieo hạt.

Hãy thử Giải pháp này trong Trình chỉnh sửa

Tổng quan

Tạo số ngẫu nhiên là yêu cầu chính trong lập trình trò chơi, chọn mục ngẫu nhiên từ bộ dữ liệu, viết ứng dụng mật mã và thực hiện mô phỏng thống kê. Python cung cấp một thư viện tích hợp chuyên dụng có tên `random` để xử lý việc tạo số giả ngẫu nhiên.

Nếu bạn cần một số nguyên ngẫu nhiên trong một phạm vi cụ thể, thì hàm `random.randint(a, b)` là công cụ phổ biến nhất, trả về một số nguyên ngẫu nhiên trong đó bao gồm cả hai điểm cuối. Ngoài ra, `random.random()` tạo ra một số dấu phẩy động trong khoảng từ 0,0 (bao gồm) đến 1,0 (độc quyền), số này có thể được chia tỷ lệ về mặt toán học để phù hợp với các ranh giới tùy chỉnh.

Để lặp lại các mô phỏng và kiểm tra, bạn có thể sử dụng hàm `random.seed()`. Việc cung cấp số nguyên gốc đảm bảo rằng chuỗi số được tạo sẽ giống hệt nhau mỗi khi mã chạy. Đối với các hoạt động mã hóa yêu cầu bảo mật cao (như tạo mã thông báo), nên tránh các trình tạo giả ngẫu nhiên tiêu chuẩn mà thay vào đó là mô-đun `bí mật`.

Đầu ra mã & thực thi

Tập lệnh này minh họa việc tạo số nguyên ngẫu nhiên, số float và chọn các phần tử bằng mô-đun ngẫu nhiên.

import random

# Setting a seed for deterministic output in this example
random.seed(42)

# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)

# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))

# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)
Đầu ra thiết bị đầu cuối
Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: banana

Triển khai từng bước

  • Nhập mô-đun ngẫu nhiên ở đầu tập lệnh của bạn.
  • Sử dụng Random.randint(min, max) để tạo một số nguyên ngẫu nhiên trong đó cả hai điểm cuối đều được bao gồm.
  • Sử dụng Random.random() để tạo số float ngẫu nhiên trong khoảng từ 0,0 đến 1,0.

Câu hỏi thường gặp

Làm cách nào để tạo số float ngẫu nhiên trong phạm vi tùy chỉnh?

Sử dụng Random.uniform(a, b) để lấy số dấu phẩy động ngẫu nhiên giữa a và b.

Mô-đun ngẫu nhiên có an toàn khi sử dụng mật mã không?

Không, mô-đun ngẫu nhiên là giả ngẫu nhiên và không nên sử dụng cho các mục đích nhạy cảm về bảo mật. Thay vào đó hãy sử dụng mô-đun bí mật.

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.