Phương thức random.choice() Python trả về phần tử chọn ngẫu nhiên từ danh sách. random.choice() hoạt động trên danh sách mục bất kỳ kiểu dữ liệu. random.choice() chấp nhận một đối số: danh sách bạn muốn chọn mục.
Bạn có thể gặp tình huống muốn chọn mục ngẫu nhiên từ danh sách. Ví dụ, bạn xây dựng trò chơi đoán màu. Bạn có thể muốn màu người dùng đoán được chọn ngẫu nhiên từ danh sách các tùy chọn tiềm năng.
Để triển khai bộ chọn ngẫu nhiên trong Python, bạn dùng hàm random.choice() và random.choices(). Các hàm này cho phép lấy một mục ngẫu nhiên đơn lẻ và nhiều mục ngẫu nhiên từ trình tự mục, tương ứng.
Hướng dẫn này thảo luận, kèm ví dụ, cơ bản thư viện random Python. Chúng ta nói cách dùng phương thức random.choice() lấy phần tử ngẫu nhiên từ danh sách.
Module Python Random Choice
Module random Python cho phép truy cập hàm liên quan số ngẫu nhiên.
Một công dụng phổ biến module này tạo số ngẫu nhiên, bằng hàm randint(). Module cũng cung cấp hàm choice(), cho phép chọn, ngẫu nhiên, mục từ danh sách.
Ngoài ra, random cung cấp hàm choices(), cho phép trả về nhiều lựa chọn ngẫu nhiên từ danh sách.
Dưới đây vài ứng dụng dùng thư viện random:
- Công cụ chọn số ngẫu nhiên.
- Công cụ chọn màu ngẫu nhiên từ danh sách màu.
- Công cụ chọn bài ngẫu nhiên từ bộ bài.
- Ứng dụng tung đồng xu.
Chúng ta cần nhập thư viện random vào mã trước khi dùng hàm trong thư viện. Làm bằng câu lệnh import Python:
import random
Python random.choice()
Hàm random.choice() Python trả về phần tử ngẫu nhiên từ trình tự (sequence). Bạn phải chỉ định danh sách muốn lấy phần tử ngẫu nhiên làm đối số. random.choice() trả về một giá trị.
Cú pháp hàm này:
random.choice(sequence)
Phương thức random.choice() trả về mục bất kỳ kiểu dữ liệu. Vì vậy, random.choice() có thể trả về đối tượng JSON từ danh sách, hoặc số.
Hãy đi qua ví dụ minh họa cách phương thức random.choice() hoạt động.
Ví dụ random.choice() Python
Giả sử xây dựng ứng dụng chọn bài hát ngẫu nhiên từ danh sách bài hát yêu thích. Ứng dụng giúp vượt qua câu hỏi kinh điển "nghe gì?" khi chọn bài.
Để xây dựng ứng dụng, bắt đầu danh sách bài hát yêu thích:
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
Danh sách chứa bốn bài hát yêu thích. Sau đó, dùng random.choice() chọn bài ngẫu nhiên từ danh sách. Mã dùng:
import random
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
song_to_play = random.choice(favorite_songs)
print("The song you should play is:", song_to_play)
Để minh họa chương trình hoạt động, thực thi ba lần. Phản hồi từ ba lần thực thi:
The song you should play is: Ring of Fire The song you should play is: Come on Eileen The song you should play is: Ring of Fire
Phương thức random.choice() cho phép chọn mục ngẫu nhiên từ danh sách bài hát yêu thích.
Phân tích mã. Đầu, nhập module random, bao gồm hàm choice() dùng sau trong chương trình. Sau, khai báo biến "favorite_songs" lưu danh sách bài hát yêu thích chương trình chọn.
Tiếp, dùng phương thức choice() chọn mục ngẫu nhiên từ danh sách bài hát yêu thích. Gán lựa chọn cho biến "song_to_play". Cuối, in ra bảng điều khiển "The song you should play is:", theo sau bài hát ngẫu nhiên nên nghe.
Random Choice Python: Dùng random.choices()
Cho đến nay, chọn một lựa chọn ngẫu nhiên từ danh sách dùng random.choice(). Nhưng nếu muốn chọn nhiều lựa chọn ngẫu nhiên?
Để làm vậy, dùng phương thức random.choices(). Phương thức này cho phép trả về một hoặc nhiều lựa chọn ngẫu nhiên từ danh sách. Cú pháp phương thức choices():
random.choices(sequence, weights, accumulate, k=number_to_choose)
Phương thức choices() chấp nhận tham số sau:
- sequence: Trình tự bạn muốn chọn mục ngẫu nhiên. Có thể chuỗi, danh sách, hoặc tuple.
- weights: Danh sách cân trọng xác suất mỗi giá trị xuất hiện.
- accumulate: Danh sách trọng số cho mỗi giá trị. Khả năng mỗi trọng số tích lũy.
- number_to_choose: Số tùy chọn ngẫu nhiên bạn muốn chọn từ trình tự.
Chúng ta tập trung đối số "sequence" và "number_to_choose" trong ví dụ.
Ví dụ Python random.choices()
Giả sử muốn chọn ba bài ngẫu nhiên từ danh sách bài yêu thích chơi. Tất cả thêm vào playlist mới bài hay nhất.
Chương trình sau hoàn thành nhiệm vụ:
import random
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
songs_to_play = random.choices(favorite_songs, k=3)
for s in songs_to_play:
print(s)
Mã trả về:
Come on Eileen 9 to 5 Ring of Fire
Đầu, nhập thư viện random vào mã. Sau, khai báo biến "favorite_songs" lưu danh sách bài yêu thích.
Tiếp, dùng phương thức random.choices() chọn ba bài ngẫu nhiên từ danh sách. Phương thức random.choices() trả về danh sách bài.
Dùng vòng lặp for Python đi qua mỗi mục trong danh sách tùy chọn bài ngẫu nhiên. Vòng lặp in từng tùy chọn ra bảng điều khiển. Như thấy, mã trả về danh sách ba bài có thể chơi, ngẫu nhiên.
Kết luận
Phương thức random.choice() chọn mục ngẫu nhiên từ danh sách. Phương thức random.choices() chọn nhiều mục ngẫu nhiên từ danh sách. Cả hai phương thức trả về giá trị bất kỳ kiểu dữ liệu, như danh sách khác hoặc số.
Hướng dẫn khám phá, tham chiếu ví dụ, cách dùng các phương thức lấy mục ngẫu nhiên từ danh sách. Bây giờ bạn sẵn sàng dùng các phương thức như chuyên gia Python!
Về lời khuyên tài nguyên, sách, học Python trực tuyến hàng đầu, xem hướng dẫn How to Learn Python.