การทำงานของโปรแกรมแบบเลือกทำตามเงื่อนไข หรือที่เรียกว่า Decision Making เป็นกระบวนการที่ใช้ในการเปรียบเทียบหรือตรวจสอบข้อมูลเพื่อตัดสินใจว่าควรดำเนินการใดต่อไป การทำงานนี้มีความสำคัญในทุกโปรแกรมคอมพิวเตอร์เพราะช่วยให้โปรแกรมสามารถทำงานตามเงื่อนไขที่กำหนดได้อย่างถูกต้องและมีประสิทธิภาพ
หลักการทำงานของการเปรียบเทียบข้อมูล
การเปรียบเทียบข้อมูลในโปรแกรมเป็นการตรวจสอบเงื่อนไขต่างๆ โดยใช้ คำสั่งเปรียบเทียบ (Comparison Operators) เช่น เท่ากับ (==), ไม่เท่ากับ (!=), มากกว่า (>), น้อยกว่า (<) เป็นต้น ผลลัพธ์ของการเปรียบเทียบนี้จะเป็น จริง (True) หรือ เท็จ (False) ซึ่งจะนำไปสู่การตัดสินใจในการทำงานตามเงื่อนไขที่กำหนด
การใช้คำสั่ง if-else
หนึ่งในโครงสร้างพื้นฐานของการทำงานแบบเลือกทำตามเงื่อนไขคือคำสั่ง if-else คำสั่งนี้ใช้ในการตรวจสอบเงื่อนไขและดำเนินการตามที่กำหนดเมื่อเงื่อนไขนั้นเป็นจริง และทำอย่างอื่นเมื่อเงื่อนไขนั้นเป็นเท็จ ตัวอย่างเช่น:
if condition:
# ดำเนินการเมื่อเงื่อนไขเป็นจริง
else:
# ดำเนินการเมื่อเงื่อนไขเป็นเท็จ
การใช้คำสั่ง elif
นอกจากคำสั่ง if-else แล้ว เรายังสามารถใช้คำสั่ง elif ซึ่งย่อมาจาก else if เพื่อเพิ่มเงื่อนไขเพิ่มเติม ตัวอย่างเช่น:
if condition1:
# ดำเนินการเมื่อเงื่อนไขที่ 1 เป็นจริง
elif condition2:
# ดำเนินการเมื่อเงื่อนไขที่ 2 เป็นจริง
else:
# ดำเนินการเมื่อเงื่อนไขทั้งหมดเป็นเท็จ
ตัวอย่างการใช้งานการเปรียบเทียบข้อมูลในโปรแกรม
เพื่อให้เห็นภาพที่ชัดเจนขึ้น เรามาดูตัวอย่างการใช้งานการเปรียบเทียบข้อมูลในโปรแกรมจริง ตัวอย่างเช่น การสร้างโปรแกรมตรวจสอบอายุเพื่อกำหนดสิทธิ์ในการเข้าร่วมกิจกรรม
age = int(input("กรุณาใส่อายุของคุณ: "))
if age >= 18:
print("คุณมีสิทธิ์เข้าร่วมกิจกรรม")
else:
print("คุณไม่มีสิทธิ์เข้าร่วมกิจกรรม")
ในตัวอย่างนี้ โปรแกรมจะตรวจสอบว่าอายุที่ผู้ใช้ป้อนเข้ามานั้นมากกว่าหรือเท่ากับ 18 ปีหรือไม่ ถ้าเป็นจริง โปรแกรมจะแสดงข้อความว่า “คุณมีสิทธิ์เข้าร่วมกิจกรรม” แต่ถ้าเป็นเท็จ โปรแกรมจะแสดงข้อความว่า “คุณไม่มีสิทธิ์เข้าร่วมกิจกรรม”
การใช้คำสั่งแบบหลายเงื่อนไข (Nested Conditions)
บางครั้ง การตัดสินใจในโปรแกรมอาจมีความซับซ้อนและต้องการการตรวจสอบเงื่อนไขหลายชั้น ในกรณีนี้ เราสามารถใช้คำสั่งแบบหลายเงื่อนไข (Nested Conditions) ได้ ตัวอย่างเช่น:
score = int(input("กรุณาใส่คะแนนของคุณ: "))
if score >= 80:
if score >= 90:
print("เกรดของคุณคือ A")
else:
print("เกรดของคุณคือ B")
else:
if score >= 70:
print("เกรดของคุณคือ C")
else:
print("คุณต้องพยายามอีกครั้ง")
ในตัวอย่างนี้ โปรแกรมจะตรวจสอบคะแนนที่ผู้ใช้ป้อนเข้ามาและแสดงผลลัพธ์ตามเงื่อนไขที่กำหนด
การใช้คำสั่งแบบหลายทางเลือก (Switch-Case)
นอกจากการใช้คำสั่ง if-else แล้ว ยังมีอีกวิธีหนึ่งในการทำงานแบบเลือกทำตามเงื่อนไขคือการใช้คำสั่ง switch-case แม้ว่าภาษา Python จะไม่สนับสนุน switch-case โดยตรง แต่เราสามารถใช้ dictionary เพื่อจำลองการทำงานของ switch-case ได้ ตัวอย่างเช่น:
def switch_case(option):
switcher = {
1: "คุณเลือกตัวเลือกที่ 1",
2: "คุณเลือกตัวเลือกที่ 2",
3: "คุณเลือกตัวเลือกที่ 3"
}
return switcher.get(option, "ตัวเลือกไม่ถูกต้อง")
option = int(input("กรุณาเลือกตัวเลือก (1-3): "))
print(switch_case(option))
ในตัวอย่างนี้ ฟังก์ชั่น switch_case
จะรับค่า option
และคืนค่าตามตัวเลือกที่ผู้ใช้ป้อนเข้ามา
บทสรุป
การทำงานของโปรแกรมแบบเลือกทำตามเงื่อนไขเป็นกระบวนการที่สำคัญในการเขียนโปรแกรม ทำให้โปรแกรมสามารถตัดสินใจและดำเนินการตามเงื่อนไขที่กำหนดได้อย่างถูกต้องและมีประสิทธิภาพ การใช้คำสั่ง if-else, elif, การใช้คำสั่งแบบหลายเงื่อนไข (Nested Conditions) และการจำลองการทำงานของ switch-case เป็นเทคนิคที่ช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้นและมีความยืดหยุ่นในการจัดการเงื่อนไขต่างๆ