การตัดสินใจและเงื่อนไข (If-Else & Logical Branching)
คอมพิวเตอร์ตัดสินใจได้อย่างไร? การใช้เงื่อนไขตรวจสอบคุณภาพอากาศ PM 2.5 และเกณฑ์ทางวิทยาศาสตร์
โปรแกรมจำลองการวิเคราะห์ค่าฝุ่น PM 2.5 และคุณภาพอากาศ
"หากสถานีตรวจวัดคุณภาพอากาศวัดค่า PM 2.5 ได้ 65.0 µg/m³ ซอฟต์แวร์จะทราบได้อย่างไรว่าควรแจ้งเตือนประชาชนระดับสีส้มหรือสีแดง? โครงสร้างเงื่อนไข If-Else คือสมองในการตัดสินใจของระบบ AI และ IoT ทั่วโลก!"
สายชีววิทยา
วินิจฉัยผลตรวจเลือด/น้ำตาล แจ้งเตือนความผิดปกติ
สายฟิสิกส์
ตรวจสอบความเร็วเกินพิกัดด้วยเซนเซอร์
สายเคมี
จำแนกกรด-เบส pH จากค่าความเข้มข้น
1 ตรรกะและการเปรียบเทียบในไพทอน
ก่อนที่คอมพิวเตอร์จะตัดสินใจได้ มันต้องรู้จักการ "เปรียบเทียบ" ก่อน โดยใช้ Comparison Operators ซึ่งผลลัพธ์ของการเปรียบเทียบจะเป็นจริง (True) หรือเท็จ (False) เสมอ
| เครื่องหมาย | ความหมาย | ตัวอย่าง |
|---|---|---|
| == | เท่ากับ (ใช้ 2 ตัวติดกัน) | 10 == 10 # True |
| != | ไม่เท่ากับ | 5 != 2 # True |
| > | มากกว่า | 5 > 10 # False |
| < | น้อยกว่า | 2 < 3 # True |
| >= | มากกว่าหรือเท่ากับ | 10 >= 10 # True |
| <= | น้อยกว่าหรือเท่ากับ | 4 <= 1 # False |
⚠️ ข้อควรระวัง!
ในภาษาไพทอน = ตัวเดียว หมายถึงการกำหนดค่า (Assignment) ให้กับตัวแปร แต่ == หมายถึงการเปรียบเทียบความเท่ากัน
2 โครงสร้างเงื่อนไขเดี่ยว (if statement)
คำสั่ง if ใช้ตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริง (True) โปรแกรมจะทำงานในบล็อกคำสั่งที่ระบุ
📌 ไวยากรณ์และการเยื้อง (Indentation)
if เงื่อนไข:
คำสั่งที่ต้องการทำเมื่อเป็นจริง (ต้องเยื้อง 4 เคาะ)
📌 ตัวอย่างตรวจอุณหภูมิห้องแล็บ
temp = 38
if temp > 35:
print("แจ้งเตือน: อุณหภูมิห้องแล็บสูงเกินไป!")
print("เปิดพัดลมระบายอากาศอัตโนมัติ")
3 โครงสร้างสองทางเลือก (if-else statement)
คำสั่ง if-else ใช้เมื่อมีทางเลือก 2 ทาง หากเงื่อนไขเป็นจริง ทำอย่างหนึ่ง หากเป็นเท็จ ทำอีกอย่างหนึ่ง
📌 ตัวอย่างตรวจสอบสถานะการผ่านเกณฑ์คะแนนวิทย์
score = 65
if score >= 60:
print("ผล: ผ่านเกณฑ์ (Pass)")
else:
print("ผล: ไม่ผ่านเกณฑ์ (Fail)")
4 โครงสร้างหลายทางเลือก (if-elif-else statement)
เมื่อมีทางเลือกมากกว่า 2 ทาง เราจะใช้ elif (ย่อมาจาก else if) เพื่อตรวจสอบเงื่อนไขถัดไปเรื่อยๆ
📌 ตัวอย่างจำแนกค่าความเป็นกรด-ด่าง (pH Scale)
ph = 8.5
if ph < 7:
print("สารละลายเป็น กรด (Acid)")
elif ph == 7:
print("สารละลายเป็น กลาง (Neutral)")
else:
print("สารละลายเป็น เบส (Base)")
5 เงื่อนไขซับซ้อนด้วยตัวดำเนินการตรรกะ
บางครั้งเราต้องตรวจสอบหลายเงื่อนไขพร้อมกัน ไพทอนมี Logical Operators 3 ตัว คือ and, or, not
| ตัวดำเนินการ | ความหมาย | ตัวอย่าง |
|---|---|---|
| and | และ (จริงเมื่อทั้งสองเป็นจริง) | x > 5 and x < 10 |
| or | หรือ (จริงเมื่ออย่างน้อยหนึ่งเป็นจริง) | y == "A" or y == "B" |
| not | ไม่ (กลับค่าความจริง) | not (z == 0) |
📌 ตัวอย่างตรวจช่วงปลอดภัย PM 2.5
pm25 = 20.0
# อากาศดีมาก เมื่อ PM 2.5 อยู่ในช่วง 0-25
if pm25 >= 0 and pm25 <= 25:
print("คุณภาพอากาศดีมาก (สีฟ้า)")
6 โครงสร้างเงื่อนไขซ้อน (Nested If)
การเขียน if ซ้อนกันข้างใน if อีกที มักใช้ตรวจสอบเงื่อนไขที่ลึกซึ้งยิ่งขึ้น
📌 ตัวอย่างจำแนกระดับความเสี่ยงสุขภาพ
pm25 = 80.0
has_disease = True
if pm25 > 37.5:
print("คุณภาพอากาศเริ่มมีผลกระทบ")
if has_disease == True:
print("คำเตือน: ผู้มีโรคประจำตัวควรอยู่แต่ในบ้าน!")
else:
print("คำแนะนำ: คนทั่วไปควรลดกิจกรรมกลางแจ้ง")
🟢 ระดับ 1 โจทย์พื้นฐาน: จำแนกคุณภาพ PM 2.5
จงเติมคำสั่ง if-else ในช่อง ___ โดยตรวจสอบว่าหากค่า pm25 <= 37.5 ให้แสดงว่า "คุณภาพอากาศดี" นอกนั้นให้แสดงว่า "เริ่มมีผลกระทบต่อสุขภาพ"
if ในช่องแรก, เครื่องหมาย <= และเติม else: ในกรณีตรงข้าม
กดปุ่ม "รันโค้ด" หรือ "ตรวจคำตอบ" เพื่อดูผลลัพธ์...
🟡 ระดับ 2 โจทย์ท้าทาย: โปรแกรมตัดเกรดวิชาวิทยาศาสตร์
สร้างโครงสร้าง if-elif-else โดยมีคะแนนเริ่มต้น score = 78.5 และคำนวณเกรดตามเกณฑ์: A >= 80, B >= 70, C >= 60, D >= 50, และ F คือน้อยกว่า 50
if score >= 80: ตามด้วย elif score >= 70: และปิดท้ายด้วย else: สำหรับเกรด F
กดปุ่ม "รันโค้ด" หรือ "ตรวจคำตอบ" เพื่อดูผลลัพธ์...
🔴 ระดับ 3 โจทย์สร้างสรรค์ (ALPS-AI): ระบบวินิจฉัย/จำแนกข้อมูลทางวิทยาศาสตร์
ALPS Frameworkจงเขียนโปรแกรมที่มีการใช้ If-Else จำแนกข้อมูลทางวิทยาศาสตร์ตามความสนใจ เช่น ชีวะ: จำแนกหมู่เลือดจากแอนติเจน, เคมี: สมบัติความเป็นกรด-เบส, ฟิสิกส์: จำแนกคลื่นแม่เหล็กไฟฟ้าจากความถี่
"คุณคือนักวิทยาศาสตร์สิ่งแวดล้อม ช่วยเขียนโปรแกรม Python ตรวจสอบคุณภาพอากาศและดัชนี UV โดยใช้โครงสร้าง if-elif-else จำแนกระดับอันตรายและคำแนะนำสุขภาพ"
ph = 3 แล้วใช้ if-elif-else เช็คช่วงว่า เป็นกรดแก่ กรดอ่อน กลาง เบสอ่อน หรือเบสแก่
กดปุ่ม "รันโค้ด" เพื่อดูผลลัพธ์...
แบบบันทึกผลงานโครงงานและการตรวจทานโค้ด (ALPS Portfolio)
บันทึกขั้นตอนการออกแบบแนวคิด คำสั่ง และการตรวจทานโค้ดจาก AI เพื่อประเมินผลการเรียนรู้
ตอบคำถาม 5 ข้อ เพื่อประเมินความเข้าใจและบันทึกผลการเรียนรู้ของบทที่ 5:
1. คำสั่งใดใน Python ใช้สำหรับเงื่อนไขทางเลือกหลายทาง (Else If)?
2. หาก x = 10 แล้วคำสั่ง if x == 10: ตัวดำเนินการ == ทำหน้าที่อะไร?
3. ข้อใดคือตัวดำเนินการตรรกะที่ให้ผลลัพธ์เป็น True เมื่อทั้งสองเงื่อนไขเป็นจริงทั้งคู่?
4. โค้ดนี้ผิดตรงไหน? if temp > 37: print('Fever') (ถ้าเขียนแบบขึ้นบรรทัดใหม่)
5. ผลลัพธ์ของ not (5 > 2 and 3 < 1) คืออะไร?