⏱️ ~9 นาที

การตัดสินใจด้วย if/elif/else

ทำให้โปรแกรมเลือกทางเดินตามเงื่อนไขใน Python

ตัดสินใจใน Python

Python ใช้ if / elif / else เหมือนหลายภาษา แต่มีจุดพิเศษ:

  • ใช้ elif แทน else if
  • จบบรรทัดด้วย : (colon)
  • ใช้ ย่อหน้า แบ่งบล็อก (ไม่ใช่ { })

if พื้นฐาน

age = 20

if age >= 18:
    print("เข้างานได้")
  • ถ้าเงื่อนไข age >= 18 เป็นจริง → โค้ดที่ ย่อหน้า ทำงาน
  • ใช้ 4 ช่องว่าง ในการย่อหน้า

เพิ่ม else

age = 15

if age >= 18:
    print("เข้างานได้")
else:
    print("กลับบ้านไป")

ผลลัพธ์: กลับบ้านไป

หลายกรณี: elif

score = 75

if score >= 80:
    print("เกรด A")
elif score >= 70:
    print("เกรด B")
elif score >= 60:
    print("เกรด C")
else:
    print("ไม่ผ่าน")

⚠️ เช็กจากบนลงล่าง พอเจอข้อที่เป็นจริงจะ ทำและหยุด

ตัวดำเนินการเปรียบเทียบ

x = 10

print(x > 5)        # True   มากกว่า
print(x < 5)        # False  น้อยกว่า
print(x >= 10)      # True   มากกว่าหรือเท่ากับ
print(x <= 9)       # False
print(x == 10)      # True   เท่ากับ (สองตัว!)
print(x != 5)       # True   ไม่เท่ากับ

⚠️ เท่ากับใช้ == (สองตัว) ส่วน = ตัวเดียวคือการกำหนดค่า

ตัวดำเนินการตรรกะ

Python ใช้คำแทนสัญลักษณ์:

ความหมายPythonเทียบ JS
และand&&
หรือor||
กลับค่าnot!
age = 25
has_id = True

if age >= 18 and has_id:
    print("ผ่าน")

if age < 18 or not has_id:
    print("ไม่ผ่าน")

ซ้อนเงื่อนไข

has_ticket = True
age = 20

if has_ticket:
    if age >= 18:
        print("เข้าชมได้")
    else:
        print("ต้องมีผู้ปกครอง")
else:
    print("ซื้อตั๋วก่อน")

เทียบหลายค่าพร้อมกัน (Python มีเทียบเอง!)

day = "เสาร์"

if day == "เสาร์" or day == "อาทิตย์":
    print("วันหยุด")

# สั้นกว่า: ใช้ in
if day in ("เสาร์", "อาทิตย์"):
    print("วันหยุด")

ค่าที่ถือเป็น "เท็จ" (Falsy)

if 0:        # เท็จ
if "":       # เท็จ (ข้อความว่าง)
if None:     # เท็จ
if []:       # เท็จ (list ว่าง)
if False:    # เท็จ

ค่าอื่น ๆ เป็นจริง:

name = ""
if name:
    print("มีชื่อ")
else:
    print("ไม่มีชื่อ")     # ทำบรรทัดนี้

ลองทำจริง: เครื่องคิดเกรด

score = int(input("คะแนน: "))

if score >= 80:
    grade = "A"
elif score >= 70:
    grade = "B"
elif score >= 60:
    grade = "C"
elif score >= 50:
    grade = "D"
else:
    grade = "F"

print(f"คุณได้เกรด {grade}")

ข้อผิดพลาดที่พบบ่อย

ลืม colon:

if age >= 18      # SyntaxError!
    print("ผ่าน")

ผสม tab กับ space:

if True:
    print("a")   # space
	print("b")   # tab → Error!

✅ ใช้ space 4 ช่อง ให้เป็นนิสัย และตั้งค่า VS Code ให้กด tab แล้วได้ 4 spaces

สรุป

รูปแบบใช้เมื่อ
ifเงื่อนไขเดียว
if / elseสองทาง
elifหลายทาง
and / or / notเชื่อมเงื่อนไข
: + ย่อหน้าบังคับทุกครั้ง

บทหน้า: ทำซ้ำด้วย ลูป ใน Python 🔄

อ่านจบแล้ว? ทำเครื่องหมายว่าเสร็จเพื่อบันทึกความคืบหน้า

🧠

แบบทดสอบ

ตอบให้ครบแล้วกด “ตรวจคำตอบ” เพื่อเช็คความเข้าใจ

  1. 1. ใน Python ใช้คำสั่งใดตรวจสอบเงื่อนไขหลายกรณีที่ต่อเนื่อง?

  2. 2. ท้ายบรรทัด if ต้องมีสัญลักษณ์อะไร?

  3. 3. ข้อใดเป็นนิพจน์เปรียบเทียบที่ถูกต้องใน Python?

กำลังโหลด…