บทที่ 4

การควบคุมการทำงาน - เงื่อนไข

Conditional Statements

สอนให้โปรแกรมตัดสินใจและทำงานแบบมีเงื่อนไข

🎯 จุดประสงค์การเรียนรู้

• เข้าใจแนวคิดการทำงานแบบมีเงื่อนไข

• ใช้ if, elif, else ในการควบคุมการทำงาน

• เขียนเงื่อนไขที่ซับซ้อนได้

• ประยุกต์ใช้ในสถานการณ์จริง

การควบคุมการทำงานแบบมีเงื่อนไข

🤔 เปรียบเทียบกับชีวิตประจำวัน

ถ้า ฝนตก ก็ เอาร่มไป

ถ้า คะแนน >= 80 ก็ ได้เกรด A

ถ้า อายุ >= 18 ก็ สามารถขับรถได้

# การเขียนเงื่อนไขใน Python
score = 85

if score >= 80:
    print("ได้เกรด A")
    print("เก่งมาก!")
💡 สำคัญ: การเยื้อง (Indentation) ใน Python ต้องใช้ 4 spaces หรือ 1 tab

คำสั่ง if - ถ้า

🔍 รูปแบบการใช้งาน

ใช้เมื่อต้องการให้โปรแกรมทำงานเมื่อเงื่อนไขเป็นจริงเท่านั้น

# รูปแบบพื้นฐาน
if เงื่อนไข:
    คำสั่งที่จะทำ

# ตัวอย่างจริง
age = 17

if age >= 18:
    print("สามารถขับรถได้")
    print("ขอใบขับขี่ได้แล้ว")

print("โปรแกรมจบ")  # ทำงานเสมอ

🏃‍♂️ ลองทำดู

เขียนโค้ดตรวจสอบว่าถ้าอุณหภูมิ > 37 องศา ให้แสดง "มีไข้"

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

==

เท่ากับ

score == 100
name == "สมชาย"
!=

ไม่เท่ากับ

age != 0
color != "แดง"
> >=

มากกว่า / มากกว่าเท่ากับ

score > 80
height >= 160
< <=

น้อยกว่า / น้อยกว่าเท่ากับ

price < 100
time <= 60
⚠️ ระวัง: ใช้ == (สองเท่ากับ) สำหรับเปรียบเทียบ ไม่ใช่ = (เท่ากับเดียว)

คำสั่ง if-else - ถ้า-ไม่เช่นนั้น

⚖️ การตัดสินใจแบบ 2 ทาง

ถ้าเงื่อนไขเป็นจริง ทำอย่างหนึ่ง / ถ้าเป็นเท็จ ทำอีกอย่างหนึ่ง

# รูปแบบ if-else
score = int(input("ใส่คะแนนสอบ: "))

if score >= 50:
    print("ผ่าน!")
    print("ยินดีด้วย")
else:
    print("ไม่ผ่าน")
    print("ต้องสอบใหม่")

✅ เมื่อ score >= 50

ผ่าน!

ยินดีด้วย

❌ เมื่อ score < 50

ไม่ผ่าน

ต้องสอบใหม่

คำสั่ง elif - หลายเงื่อนไข

🎚️ การตัดสินใจแบบหลายทาง

เมื่อมีเงื่อนไขหลายอย่างที่ต้องตรวจสอบ ใช้ elif (else if)

# ระบบเกรด
score = int(input("คะแนนสอบ: "))

if score >= 80:
    print("เกรด A - ดีเยี่ยม!")
elif score >= 70:
    print("เกรด B - ดี!")
elif score >= 60:
    print("เกรด C - พอใช้")
elif score >= 50:
    print("เกรด D - ผ่านแค่เอา")
else:
    print("เกรด F - ตก!")
💡 เทคนิค: Python จะตรวจสอบเงื่อนไขตามลำดับ เมื่อเจอเงื่อนไขที่เป็นจริง จะหยุดทันที

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

and

และ

ทั้งสองเงื่อนไขต้องจริง

age >= 18 and has_license
or

หรือ

เงื่อนไขใดเงื่อนไขหนึ่งจริง

is_weekend or is_holiday
not

ไม่

กลับค่าความจริง

not is_raining
in

อยู่ใน

ตรวจสอบสมาชิก

"a" in "apple"
# ตัวอย่างการใช้งาน
age = 17
has_permission = True

if age >= 18 and has_permission:
    print("ไปดูหนังได้")
elif age >= 13 or has_permission:
    print("ไปดูหนังได้ แต่ต้องมีผู้ใหญ่")
else:
    print("ยังไปดูหนังไม่ได้")

เงื่อนไขซ้อนกัน (Nested Conditions)

🏢 เงื่อนไขซับซ้อนหลายชั้น

สามารถใส่ if-else ภายใน if-else อื่นได้

# ระบบสมัครเรียนต่อ
gpa = float(input("เกรดเฉลี่ย: "))
english_score = int(input("คะแนนภาษาอังกฤษ: "))

if gpa >= 3.0:
    print("เกรดผ่านเกณฑ์!")
    
    if english_score >= 500:
        print("ภาษาอังกฤษผ่าน!")
        print("สามารถสมัครได้!")
    else:
        print("ภาษาอังกฤษไม่ผ่าน")
        print("ต้องสอบใหม่")
else:
    print("เกรดไม่ถึงเกณฑ์")
    print("ต้องเรียนเพิ่มเกรด")

🎯 สรุปความรู้ทั้งหมด

• การใช้ if สำหรับเงื่อนไขเดียว

• การใช้ if-else สำหรับการตัดสินใจ 2 ทาง

• การใช้ elif สำหรับหลายเงื่อนไข

• ตัวดำเนินการเปรียบเทียบ ==, !=, >, <, >=, <=

• ตัวดำเนินการตรรกะ and, or, not, in

• การเขียนเงื่อนไขซ้อนกันสำหรับกรณีซับซ้อน

🎓 พร้อมไปบทต่อไป: ตอนนี้คุณสามารถสั่งให้โปรแกรมตัดสินใจได้แล้ว! บทต่อไปจะเรียนรู้การทำซ้ำด้วย Loop