Python ไม่มีคำสั่งสวิตช์ในตัว ต่างจาก Java หรือ C# ซึ่งหมายความว่าคุณไม่สามารถประเมินนิพจน์สวิตช์ได้โดยไม่ต้องเขียนโค้ดของคุณเองที่เลียนแบบคำสั่ง "switch...case"
ในคู่มือนี้ เราจะพูดถึงวิธีการเขียน “switch…case” ใน Python และอธิบายตัวอย่างคำสั่ง faux-switch สองตัวอย่าง เพื่อให้คุณได้เรียนรู้วิธีเขียนคำสั่งในโค้ดของคุณ
เปลี่ยนคำสั่ง:ทบทวน
คำสั่ง switch ให้คุณเลือกชุดของบล็อคโค้ดที่จะรันได้ เป็นวิธีการประเมินนิพจน์หลายนิพจน์ในโปรแกรม
คำสั่ง switch ทำงานโดยการประเมินคำสั่ง switch และเปรียบเทียบผลลัพธ์ของคำสั่งนั้นกับค่าในคำสั่ง "case" หากพบการจับคู่ บล็อกของรหัสที่เกี่ยวข้องจะถูกเรียกใช้ มิฉะนั้นจะไม่มีอะไรเกิดขึ้น
หรือจะใช้คีย์เวิร์ด "default" เพื่อเรียกใช้บล็อกของโค้ด หากไม่พบคำสั่งที่ตรงกับนิพจน์เฉพาะ
คำสั่ง Python Switch:การคืนค่าส่วนบุคคล
มาเขียนโปรแกรมที่แปลงค่าตัวเลขเป็นวันในสัปดาห์กัน
ในการเริ่มต้น ขอให้ผู้ใช้ใส่ตัวเลขที่ต้องการแปลงเป็นวันที่เขียน:
convert_to_day =int(input("Insert a day of the week:"))
เราแปลงค่าที่ผู้ใช้ใส่ลงในโปรแกรมของเราเป็นจำนวนเต็ม เราจะหารือกันว่าทำไมสิ่งนี้จึงจำเป็นในบทช่วยสอนนี้
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ต่อไปเราจะกำหนดพจนานุกรม พจนานุกรมนี้จะประกอบด้วยวันทั้งหมดของสัปดาห์ แต่ละคีย์จะเก็บวันเป็นตัวเลข และแต่ละค่าจะจัดเก็บวันที่เขียนไว้ (เช่น วันอังคาร):
วัน ={ 1:"วันจันทร์", 2:"วันอังคาร", 3:"วันพุธ", 4:"วันพฤหัสบดี", 5:"วันศุกร์", 6:"วันเสาร์", 7:"วันอาทิตย์"}ก่อน>มีเจ็ดคีย์และค่าในพจนานุกรมของเรา คีย์ "1" หมายถึง "วันจันทร์" เป็นต้นจนถึงวันสุดท้ายของสัปดาห์
ต่อไป เราใช้เมธอดพจนานุกรม get() เพื่อเข้าถึงรายการในพจนานุกรมนี้ที่สอดคล้องกับค่าที่ผู้ใช้ใส่:
day_as_write =days.get(convert_to_day, "ไม่มีวันที่มีค่าตัวเลขนี้")print(day_as_write)เราได้แปลงค่าที่ผู้ใช้ใส่ลงในโปรแกรมของเราให้เป็นจำนวนเต็ม เพื่อให้สามารถใช้ใน
get()
คำแถลง. หากไม่มีคีย์ใดเท่ากับค่าที่ "convert_to_day" จัดเก็บไว้ รหัสของเราจะส่งคืน "ไม่มีวันที่มีค่าตัวเลขนี้"
หากผู้ใช้ใส่ค่า “1” รหัสของเราจะประเมิน:
วัน[1]การดำเนินการนี้จะดึงค่าที่เกี่ยวข้องกับคีย์ "1" ในรายการของเรา
เรียกใช้รหัสของเราและดูว่าเกิดอะไรขึ้น:
แทรกวันในสัปดาห์:1วันจันทร์รหัสของเราแปลงตัวเลขที่ผู้ใช้แทรกเป็นสตริงได้สำเร็จ มาเรียกใช้รหัสของเราในวันที่ไม่มีอยู่ในพจนานุกรมของเรา:
แทรกวันในสัปดาห์:8ไม่มีวันที่มีค่าตัวเลขนี้รหัสของเราใช้งานได้แม้ว่าผู้ใช้จะใส่ค่าที่ไม่ถูกต้อง
คำสั่ง Python Switch:การเรียกใช้ฟังก์ชัน
เราสามารถใช้ไวยากรณ์นี้เพื่อเรียกใช้ฟังก์ชันในโค้ดของเราได้ เรากำลังจะสร้างแอปพลิเคชันที่แสดงข้อมูลเกี่ยวกับรายการซื้อที่ร้านขายแซนด์วิช
ขั้นแรก ให้กำหนดรายการซื้อ:
<ซื้อล่วงหน้า =[2.50, 2.50, 2.75, 3.90, 5.60, 2.40]
ถัดไป กำหนดสามฟังก์ชัน ฟังก์ชันเหล่านี้จะคำนวณ:
- จำนวนการซื้อในรายการของเรา
- มูลค่าการซื้อเฉลี่ย
- การซื้อที่ใหญ่ที่สุด
มากำหนดฟังก์ชันเหล่านี้กัน:
def number_of_purchases():total =len(purchases) print(total)def average_value():ค่าเฉลี่ย =ผลรวม (การซื้อ) / len (การซื้อ) พิมพ์ (เฉลี่ย)def maximum_purchase():ใหญ่สุด =สูงสุด (การซื้อ) พิมพ์ (ใหญ่สุด)
ตอนนี้เราได้กำหนดฟังก์ชันเหล่านี้แล้ว ให้เริ่มเขียนคำสั่ง faux-switch ของเรา เช่นเดียวกับที่เราทำในตัวอย่างแรก เราเริ่มต้นด้วยการขอให้ผู้ใช้ใส่ค่า ค่าที่ผู้ใช้ใส่ควรสอดคล้องกับหนึ่งในฟังก์ชันของเรา
print("[1] แสดงจำนวนการซื้อที่ทำวันนี้")print("[2] แสดงมูลค่าเฉลี่ยของการซื้อทั้งหมดที่ทำวันนี้")print("[3] แสดงการซื้อที่ใหญ่ที่สุดที่ทำวันนี้") to_run =int(input("คุณต้องการทำอะไร "))
รหัสของเราพิมพ์ออกมาสามข้อความ แต่ละคนจะแจ้งให้ผู้ใช้ทราบถึงตัวเลือกที่สามารถทำได้ รหัสของเราจะขอให้ผู้ใช้ใส่ค่า เราแปลงค่านี้เป็นตัวเลขเพื่อใช้ในภายหลังในโปรแกรมของเรา
ถัดไป กำหนดพจนานุกรมที่จับคู่ฟังก์ชันของเรากับตัวเลข:
ตัวเลือก ={ 1:number_of_purchases, 2:average_value, 3:maximum_purchase}
ค่า "1" ถูกจับคู่กับฟังก์ชันที่เรียกว่า "number_of_purchases" ค่า "2" จะถูกจับคู่กับฟังก์ชัน "average_value" และค่า "3" จะถูกจับคู่กับฟังก์ชัน "lowest_purchase"
ต่อไป ใช้ get()
วิธีการเลือกฟังก์ชันที่โปรแกรมของเราควรรัน:
function_to_execute =options.get(to_run)function_to_execute()
รหัสนี้เรียกฟังก์ชันจากพจนานุกรมของเราที่เราต้องการดำเนินการ เรายังไม่ได้ระบุค่าที่สองใน get()
. ของเรา วิธีเพราะเราต้องเรียกใช้ฟังก์ชันเพื่อให้โค้ดของเราทำงาน ซึ่งหมายความว่าหากผู้ใช้ใส่ค่าที่ไม่ถูกต้อง รหัสของเราจะส่งคืนข้อผิดพลาด มีวิธีจัดการกับพฤติกรรมนี้ แต่การทำเช่นนั้นอยู่นอกเหนือขอบเขตของบทช่วยสอนนี้
เรียกใช้รหัสของเรา:
[1] แสดงจำนวนการซื้อที่ทำวันนี้[2] แสดงมูลค่าเฉลี่ยของการซื้อทั้งหมดที่ทำในวันนี้[3] แสดงการซื้อที่ใหญ่ที่สุดที่ทำในวันนี้ คุณต้องการทำอะไร 35.6
เราได้เลือกตัวเลือกที่ 3 จากรายการของเรา รหัสของเราพิมพ์คำสั่งซื้อที่ใหญ่ที่สุดได้สำเร็จในวันหนึ่งๆ ลองเลือกตัวเลือกที่ 2:
[1] แสดงจำนวนการซื้อที่ทำวันนี้[2] แสดงมูลค่าเฉลี่ยของการซื้อทั้งหมดที่ทำในวันนี้[3] แสดงการซื้อที่ใหญ่ที่สุดที่ทำในวันนี้ คุณต้องการทำอะไร 23.275
รหัสของเราส่งคืนมูลค่าเฉลี่ยของการซื้อในรายการของเรา
บทสรุป
แม้ว่า Python จะไม่มีคำสั่ง switch ในตัว แต่คุณสามารถสร้างได้โดยใช้พจนานุกรมและ get()
กระบวนการ.
คำสั่ง Switch มีประโยชน์หากคุณต้องการประเมินนิพจน์กับผลลัพธ์ที่เป็นไปได้หลายอย่าง
คุณสามารถเขียนคำสั่ง faux-switch ที่ดึงค่าจากพจนานุกรมโดยขึ้นอยู่กับคีย์ที่คุณระบุ คุณยังสามารถเขียนคำสั่ง faux-switch ที่ดึงฟังก์ชันจากพจนานุกรมโดยยึดตามคีย์เฉพาะที่คุณอ้างอิง
ตอนนี้คุณก็พร้อมที่จะสร้างคำสั่ง switch ของคุณเองในภาษาการเขียนโปรแกรม Python เหมือนกับผู้เชี่ยวชาญ coder!