พื้นฐาน `if` และการแตกแขนง

Basic python

พื้นฐาน `if` และการแตกแขนง

if คือโครงสร้างควบคุมพื้นฐานที่หมายถึง “ถ้าเงื่อนไขเป็นจริง ให้ทำสิ่งนี้”

score = 80
if score >= 70:
    print("สอบผ่าน")

บรรทัดที่เยื้องจะทำงานเมื่อเงื่อนไขเป็นจริง

อินเดนต์คือส่วนหนึ่งของไวยากรณ์ Python ยึด 4 ช่องว่างเสมอ และอย่าผสมแท็บกับสเปซ

if-else และ if-elif-else #

ใช้ else เมื่ออยากบอกว่าจะทำอะไรเมื่อเงื่อนไขไม่เป็นจริง

if score >= 70:
    print("สอบผ่าน")
else:
    print("ต้องปรับปรุง")

ถ้ามีหลายเงื่อนไขใช้ elif

if score >= 90:
    print("ระดับ S")
elif score >= 80:
    print("ระดับ A")
elif score >= 70:
    print("ระดับ B")
else:
    print("ปรับปรุง")

elif ย่อจาก “else if” ทดสอบจากบนลงล่าง จัดเงื่อนไขจากแคบไปกว้างจะอ่านง่ายขึ้น

การซ้อนบล็อก (Nested) #

สามารถวาง if ภายใน if ได้

if temperature > 0:
    if temperature >= 37.5:
        print("มีไข้")
    else:
        print("อุณหภูมิปกติ")
else:
    print("ต่ำกว่าจุดเยือกแข็ง")

ถ้าเนสติ้งลึกเกินไป ให้แยกเงื่อนไขออกเป็นฟังก์ชันย่อยหรือรีเทิร์นเร็วเพื่อให้โค้ดโปร่ง

ลองทำดู #

  1. รับคะแนน ถ้า ≥ 90 พิมพ์ “ยอดเยี่ยม”, ถ้า 80–89 พิมพ์ “เกือบได้”, อื่น ๆ พิมพ์ “สู้ต่อไป”
  2. รับอายุและสถานะสมาชิก (ทั่วไป / พรีเมียม) แล้วคำนวณค่าตั๋วหนังตามกติกาที่คุณกำหนด (เช่น ต่ำกว่า 12 ปีฟรี, สมาชิกพรีเมียมลดราคา ฯลฯ)