บทที่ 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 ช่วยในการขยายเงื่อนไขให้ครอบคลุมหลาย ๆ กรณี ทำให้โปรแกรมทำงานได้อย่างยืดหยุ่นมากขึ้น