บทที่ 3: เงื่อนไขและการตัดสินใจ (Conditionals)
3.1 การใช้ if, elif, และ else
การเขียนโปรแกรมไม่ได้ทำงานแบบลำดับเสมอไป บางครั้งเราต้องการให้โปรแกรมทำงานตามเงื่อนไขที่กำหนดไว้ ซึ่ง Python มีคำสั่ง if, elif, และ else เพื่อช่วยในการตัดสินใจและการเลือกการทำงานตามเงื่อนไขที่ตั้งไว้
หลักการทำงานของ if, elif, และ else
- if ใช้เพื่อตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริง (True) โปรแกรมจะทำงานตามคำสั่งที่อยู่ภายใต้ if
- elif (ย่อมาจาก "else if") ใช้ในกรณีที่เงื่อนไข if ไม่เป็นจริง และเราต้องการตรวจสอบเงื่อนไขอื่น ๆ ต่อไป
- else ใช้เมื่อไม่มีเงื่อนไขใดที่เป็นจริงเลย ดังนั้นโปรแกรมจะทำงานตามคำสั่งที่อยู่ภายใต้ else
รูปแบบการใช้งาน
if เงื่อนไข:
# ทำงานเมื่อเงื่อนไขเป็นจริง
elif เงื่อนไขอื่น:
# ทำงานเมื่อเงื่อนไขแรกไม่เป็นจริง แต่เงื่อนไขนี้เป็นจริง
else:
# ทำงานเมื่อไม่มีเงื่อนไขใด ๆ เป็นจริงเลย
ตัวอย่างการใช้งาน if, elif, และ else
ตัวอย่างที่ 1: การตัดสินใจง่าย ๆ
age = 18
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult yet.")
ในตัวอย่างนี้ ถ้าค่า age มากกว่าหรือเท่ากับ 18 โปรแกรมจะแสดงข้อความ "You are an adult." แต่ถ้าหากไม่ใช่ โปรแกรมจะแสดงข้อความ "You are not an adult yet."
ตัวอย่างที่ 2: การใช้ elif เพื่อตรวจสอบเงื่อนไขหลาย ๆ อย่าง
score = 85
if score >= 90:
print("Grade A")
elif score >= 80:
print("Grade B")
elif score >= 70:
print("Grade C")
else:
print("Grade D")
ในตัวอย่างนี้ โปรแกรมจะตรวจสอบคะแนน (score) และกำหนดเกรดตามช่วงคะแนนที่ตรวจสอบ หากคะแนนอยู่ในช่วง 90 ขึ้นไป จะได้เกรด A ถ้าอยู่ในช่วง 80-89 จะได้เกรด B และต่อไปจนถึงเงื่อนไขสุดท้ายที่ใช้ else หากไม่มีเงื่อนไขใดเป็นจริง
การใช้เงื่อนไขแบบซ้อนกัน (Nested Conditions)
บางครั้งเราอาจต้องการตรวจสอบเงื่อนไขหลายระดับภายในกันเอง ซึ่งเราเรียกการทำเช่นนี้ว่า Nested Conditions โดยการใช้ if, elif, หรือ else ซ้อนกันภายในเงื่อนไขอื่น
age = 20
is_student = True
if age >= 18:
if is_student:
print("You are an adult student.")
else:
print("You are an adult but not a student.")
else:
print("You are not an adult.")
ในตัวอย่างนี้ เมื่อเงื่อนไข age >= 18 เป็นจริง โปรแกรมจะตรวจสอบเงื่อนไขที่สองคือ is_student ถ้าเป็นจริง จะพิมพ์ข้อความว่าเป็นนักเรียนที่เป็นผู้ใหญ่
การใช้ตัวดำเนินการเปรียบเทียบในเงื่อนไข
Python มีตัวดำเนินการเปรียบเทียบหลายประเภทที่ใช้ในเงื่อนไข เช่น:
- == : ตรวจสอบว่าค่าสองค่าเท่ากันหรือไม่
- != : ตรวจสอบว่าค่าสองค่าไม่เท่ากันหรือไม่
- > : ตรวจสอบว่าค่ามากกว่าหรือไม่
- < : ตรวจสอบว่าค่าน้อยกว่าหรือไม่
- >= : ตรวจสอบว่าค่ามากกว่าหรือเท่ากันหรือไม่
- <= : ตรวจสอบว่าค่าน้อยกว่าหรือเท่ากันหรือไม่
ตัวอย่าง:
x = 10
y = 20
if x == y:
print("x and y are equal.")
elif x > y:
print("x is greater than y.")
else:
print("x is less than y.")
สรุป
การใช้ if, elif, และ else เป็นเครื่องมือพื้นฐานที่สำคัญในการเขียนโปรแกรมเพื่อช่วยในการตัดสินใจตามเงื่อนไขที่ตั้งไว้ โปรแกรมจะทำงานตามเงื่อนไขที่เป็นจริง โดยการใช้ elif และ else ช่วยในการขยายเงื่อนไขให้ครอบคลุมหลาย ๆ กรณี ทำให้โปรแกรมทำงานได้อย่างยืดหยุ่นมากขึ้น