Tạo ngày ngẫu nhiên giữa ngày bắt đầu và ngày kết thúc cho trước trong Python
Trong bài tập này, mình sẽ hướng dẫn cách tạo ngày ngẫu nhiên nằm trong khoảng từ một ngày bắt đầu đến một ngày kết thúc cho trước. Mình sẽ sử dụng thư viện random
và time
trong Python để thực hiện điều này.
Bước 1: Import thư viện random và time
Đầu tiên, hãy import thư viện random và time để sử dụng các hàm tạo số ngẫu nhiên và thao tác với thời gian.
import random import time
Bước 2: Định nghĩa hàm getRandomDate
Mình sẽ viết một hàm tên là getRandomDate
để tạo ngày ngẫu nhiên nằm trong khoảng từ startDate
đến endDate
. Hàm này nhận hai tham số: startDate
và endDate
.
def getRandomDate(startDate, endDate):
Bước 3: Hiển thị thông báo
Trước khi tạo ngày ngẫu nhiên, mình sẽ hiển thị thông báo cho biết khoảng thời gian chúng ta đang làm việc.
print("Tạo ngày ngẫu nhiên trong khoảng từ", startDate, "đến", endDate)
Bước 4: Tạo ngày ngẫu nhiên
Sau đó sẽ sử dụng hàm random.random()
để tạo một số ngẫu nhiên nằm trong khoảng từ 0 đến 1. Sau đó, mình sẽ chuyển đổi số này thành một thời gian nằm trong khoảng từ startTime
đến endTime, với startTime và endTime được tính dựa trên startDate và endDate. Cuối cùng, mình sẽ chuyển đổi thời gian này thành định dạng ngày và trả về kết quả.
randomGenerator = random.random() dateFormat = '%m/%d/%Y' startTime = time.mktime(time.strptime(startDate, dateFormat)) endTime = time.mktime(time.strptime(endDate, dateFormat)) randomTime = startTime + randomGenerator * (endTime - startTime) randomDate = time.strftime(dateFormat, time.localtime(randomTime)) return randomDate
Bước 5: Gọi hàm và hiển thị kết quả
Cuối cùng, mình sẽ gọi hàm getRandomDate
với các giá trị startDate
và endDate
của chúng, sau đó hiển thị ngày ngẫu nhiên được tạo ra.
print("Ngày Ngẫu Nhiên =", getRandomDate("1/1/2016", "12/12/2018"))
Kết quả:
Khi bạn chạy chương trình, bạn sẽ nhận được một ngày ngẫu nhiên nằm trong khoảng từ "1/1/2016" đến "12/12/2018". Kết quả sẽ thay đổi mỗi khi bạn chạy chương trình, nhưng luôn nằm trong khoảng thời gian đã cho.
Ví dụ kết quả:
Tạo ngày ngẫu nhiên trong khoảng từ 1/1/2016 đến 12/12/2018 Ngày Ngẫu Nhiên = 11/23/2017
Như vậy, bạn đã hoàn thành bài tập "Tạo ngày ngẫu nhiên trong khoảng thời gian cho trước" bằng cách sử dụng thư viện random và time trong Python. Điều này có thể hữu ích trong nhiều tình huống lập trình khi bạn cần tạo dữ liệu ngẫu nhiên có tính chất thời gian.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo 3 số nguyên ngẫu nhiên từ 100 đến 999 chia hết cho 5 trong Python
- Tạo 100 vé số ngẫu nhiên và chọn hai vé may mắn từ đó làm người chiến thắng bằng Python.
- Tạo OTP bảo mật ngẫu nhiên gồm 6 chữ số bằng Python
- Chọn một ký tự ngẫu nhiên từ một chuỗi cho trước trong Python
- Tạo chuỗi ngẫu nhiên có độ dài 5 trong Python
- Tạo mật khẩu ngẫu nhiên đáp ứng các điều kiện trong Python
- Tính phép nhân hai số thực ngẫu nhiên trong Python
- Tạo mã thông báo bảo mật ngẫu nhiên 64 byte và URL ngẫu nhiên trong Python
- Đổ xúc xắc sao cho lần nào ra kết quả giống nhau trong Python
- Tạo ngày ngẫu nhiên giữa ngày bắt đầu và ngày kết thúc cho trước trong Python