เมธอด Python random.choice() คืนค่าองค์ประกอบที่เลือกแบบสุ่มจากรายการ random.choice() ทำงานกับรายการที่มีรายการในประเภทข้อมูลใดๆ random.choice() ยอมรับอาร์กิวเมนต์หนึ่ง: รายการที่คุณต้องการเลือกไอเท็ม
คุณอาจพบสถานการณ์ที่คุณต้องการเลือกไอเท็มแบบสุ่มจากรายการ ตัวอย่างเช่น สมมติว่าคุณกำลังสร้างเกมทายสี คุณอาจต้องการให้สีที่ผู้ใช้ทายถูกเลือกแบบสุ่มจากรายการตัวเลือกที่เป็นไปได้
เพื่อนำตัวเลือกสุ่ม (random choice selector) ไปใช้ใน Python คุณสามารถใช้ฟังก์ชัน random.choice() และ random.choices() ฟังก์ชันเหล่านี้ช่วยให้คุณดึงไอเท็มสุ่มเดี่ยวและไอเท็มสุ่มหลายรายการจากลำดับของไอเท็ม ตามลำดับ
บทช่วยสอนนี้จะอภิปราย พร้อมตัวอย่าง พื้นฐานของไลบรารี random ใน Python เราจะพูดถึงวิธีใช้เมธอด random.choice() เพื่อดึงองค์ประกอบสุ่มจากรายการ
โมดูล Python Random Choice (Python Random Choice Module)
โมดูล random ของ Python ช่วยให้คุณเข้าถึงฟังก์ชันที่เกี่ยวข้องกับตัวเลขสุ่ม
การใช้งานที่พบบ่อยที่สุดของโมดูลนี้คือการสร้างตัวเลขสุ่ม ซึ่งคุณสามารถทำได้โดยใช้ฟังก์ชัน randint() โมดูลยังให้ฟังก์ชันชื่อ choice() ซึ่งช่วยให้คุณเลือกแบบสุ่ม ไอเท็มจากรายการ
นอกจากนี้ random ยังให้ฟังก์ชันชื่อ choices() ซึ่งช่วยให้คุณคืนค่าตัวเลือกสุ่มหลายรายการจากรายการ
นี่คือตัวอย่างไม่กี่ตัวของแอปพลิเคชันที่จะใช้ไลบรารี random:
- เครื่องมือที่เลือกตัวเลขสุ่ม
- เครื่องมือที่เลือกสีสุ่มจากรายการสี
- เครื่องมือที่เลือกไพ่สุ่มจากสำรับ
- แอปพลิเคชันที่ทอยเหรียญ
เราต้องนำเข้าไลบรารี random เข้าสู่โค้ดของเราก่อนที่เราจะเริ่มใช้ฟังก์ชันในไลบรารีได้ เราสามารถทำได้โดยใช้คำสั่ง import ของ Python ต่อไปนี้:
import random
Python random.choice()
ฟังก์ชัน Python random.choice() คืนค่าองค์ประกอบสุ่มจากลำดับ (sequence) คุณต้องระบุรายการที่คุณต้องการดึงองค์ประกอบสุ่มเป็นอาร์กิวเมนต์ random.choice() คืนค่าหนึ่งค่า
ไวยากรณ์สำหรับฟังก์ชันนี้มีดังนี้:
random.choice(sequence)
เมธอด random.choice() สามารถคืนค่ารายการของประเภทข้อมูลใดๆ ได้ ดังนั้น random.choice() อาจคืนค่าออบเจ็กต์ JSON จากรายการ หรือตัวเลข
มาเดินทางผ่านตัวอย่างเพื่อแสดงให้เห็นว่าเมธอด random.choice() ทำงานอย่างไร
ตัวอย่าง random.choice() ใน Python (random.choice() Python Example)
สมมติว่าเรากำลังสร้างแอปพลิเคชันที่เลือกเพลงแบบสุ่มจากรายการเพลงโปรดของเรา แอปพลิเคชันนี้จะช่วยเราเอาชนะคำถามที่น่ารังเกียจ "ควรฟังเพลงอะไรดี?" ที่เกิดขึ้นเมื่อเลือกเพลง
เพื่อสร้างแอปพลิเคชันนี้ เราจะเริ่มต้นด้วยรายการเพลงโปรดของเรา:
favorite_songs = ["Ring of Fire", "9 to 5", "Come on Eileen", "Everybody Wants to Rule the World"]
รายการนี้มีเพลงโปรดของเราสี่เพลง จากนั้น เราสามารถใช้ random.choice() เพื่อเลือกเพลงสุ่มจากรายการนี้ นี่คือโค้ดที่เราจะใช้:
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)
เพื่อแสดงให้เห็นว่าโปรแกรมนี้ทำงานอย่างไร เราจะรันมันสามครั้ง นี่คือการตอบสนองจากทั้งสามครั้งที่เรารันโปรแกรมของเรา:
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
เมธอด random.choice() ช่วยให้เราสามารถเลือกไอเท็มสุ่มจากรายการเพลงโปรดของเราได้
มาแยกวิเคราะห์โค้ดของเรา ก่อนอื่น เรานำเข้าโมดูล random ซึ่งรวมฟังก์ชัน choice() ที่เราใช้ต่อไปในโปรแกรมของเรา จากนั้น เราประกาศตัวแปร Python ชื่อ "favorite_songs" ตัวแปรนี้จัดเก็บรายการเพลงโปรดที่โปรแกรมของเราควรเลือกหนึ่ง
ต่อไป เราใช้เมธอด choice() เพื่อเลือกไอเท็มสุ่มจากรายการเพลงโปรดของเรา เรากำหนดตัวเลือกนั้นให้กับตัวแปร "song_to_play" สุดท้าย เราพิมพ์ไปที่คอนโซล "The song you should play is:" ตามด้วยเพลงที่สุ่มเลือกที่เราควรเล่น
Random Choice Python: การใช้ random.choices()
จนถึงตอนนี้ เราเลือกตัวเลือกสุ่มหนึ่งจากรายการโดยใช้เมธอด random.choice() แต่ถ้าหากเราต้องการเลือกตัวเลือกสุ่มหลายรายการล่ะ?
เพื่อทำเช่นนั้น เราสามารถใช้เมธอด random.choices() เมธอดนี้ช่วยให้คุณคืนค่าตัวเลือกสุ่มหนึ่งหรือมากกว่าจากรายการ ไวยากรณ์สำหรับเมธอด choices() คือ:
random.choices(sequence, weights, accumulate, k=number_to_choose)
เมธอด choices() ยอมรับพารามิเตอร์ต่อไปนี้:
- sequence: ลำดับที่คุณต้องการเลือกไอเท็มสุ่ม อาจเป็นสตริง รายการ หรือ tuple
- weights: รายการสำหรับคุณถ่วงน้ำหนักความน่าจะเป็นที่แต่ละค่าจะปรากฏ
- accumulate: รายการกับน้ำหนักสำหรับแต่ละค่า ความเป็นไปได้ของแต่ละน้ำหนักสะสม
- number_to_choose: จำนวนตัวเลือกสุ่มที่คุณต้องการเลือกจากลำดับของคุณ
เราจะเน้นที่อาร์กิวเมนต์ "sequence" และ "number_to_choose" ในตัวอย่างของเรา
ตัวอย่าง Python random.choices() (Python random.choices() Example)
สมมติว่าเราต้องการเลือกเพลงสามเพลงแบบสุ่มจากรายการเพลงโปรดของเราเพื่อเล่น ทั้งหมดจะถูกเพิ่มเข้าไปในเพลย์ลิสต์ใหม่ของเพลงนำโชค
โปรแกรมต่อไปนี้ช่วยให้เราบรรลุภารกิจนี้:
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)
โค้ดของเราคืนค่า:
Come on Eileen 9 to 5 Ring of Fire
ก่อนอื่น เรานำเข้าไลบรารี random เข้าสู่โค้ดของเรา จากนั้น เราประกาศตัวแปร Python ชื่อ "favorite_songs" ตัวแปรนี้จัดเก็บรายการเพลงโปรดของเรา
ต่อไป เราใช้เมธอด random.choices() เพื่อเลือกเพลงสามเพลงแบบสุ่มจากรายการของเรา เมธอด random.choices() คืนค่ารายการของเพลง
เราใช้ลูป for ของ Python เพื่อผ่านแต่ละรายการในรายการตัวเลือกเพลงที่สุ่มสร้างขึ้น ลูปนี้พิมพ์แต่ละตัวเลือกไปที่คอนโซล ตามที่คุณเห็น โค้ดของเราคืนค่ารายการสามเพลงที่เราสามารถเล่นได้ แบบสุ่ม
สรุป
เมธอด random.choice() เลือกรายการแบบสุ่มจากรายการ เมธอด random.choices() เลือกรายการหลายรายการแบบสุ่มจากรายการ ทั้งสองเมธอดสามารถคืนค่าของประเภทข้อมูลใดๆ ได้ เช่น รายการอื่นหรือตัวเลข
บทช่วยสอนนี้สำรวจ พร้อมอ้างอิงตัวอย่าง วิธีใช้เมธอดเหล่านี้เพื่อดึงไอเท็มสุ่มจากรายการ ตอนนี้คุณพร้อมที่จะเริ่มใช้เมธอดเหล่านี้อย่างมืออาชีพ Python แล้ว!
สำหรับคำแนะนำเกี่ยวกับทรัพยากร Python ออนไลน์อันดับหนึ่ง หนังสือ และทรัพยากรการเรียนรู้ โปรดดูคู่มือ How to Learn Python ของเรา