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

คำสั่ง Python Switch:A How-to Guide

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!