Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Random Choice: คู่มือวิธีการสุ่มเลือกข้อมูล

เมธอด 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 ของเรา