โครงสร้างแบบทางเลือก (If, If-Else, If-Elif-Else)
ในชีวิตจริง เราต้องตัดสินใจตลอดเวลา เช่น "ถ้าฝนตก ฉันจะกางร่ม ถ้าไม่ตก ฉันจะไม่กาง" คอมพิวเตอร์ก็ต้องตัดสินใจแบบนี้เป็นเหมือนกันครับ! เราเรียกมันว่า "โครงสร้างแบบทางเลือก (Selection)" แต่ก่อนจะตัดสินใจได้ คอมพิวเตอร์ต้องรู้จัก "การเปรียบเทียบ" ก่อนครับ
เราจะใช้ ตัวดำเนินการเปรียบเทียบ (Relational Operators) เพื่อสร้างเงื่อนไขให้คอมพิวเตอร์ตรวจสอบ ซึ่งผลลัพธ์ที่ได้จะมีแค่ 2 อย่างคือ จริง (True) หรือ เท็จ (False) เท่านั้นครับ:
==
!=
>
<
>=
<=
เมื่อเราสร้างเงื่อนไขเป็นแล้ว เราก็จะเอามาใส่ในคำสั่ง if (แปลว่า "ถ้า") ซึ่งมีให้เลือกใช้ 3 ระดับความซับซ้อนครับ:
if
ถ้าเงื่อนไขเป็นจริง (True) ให้ทำตามคำสั่ง แต่ถ้าเป็นเท็จ (False) ก็แค่ข้ามไปเลย ไม่ทำอะไร
🚨 ข้อควรระวัง: หลังเงื่อนไขต้องมีเครื่องหมาย : (Colon) เสมอ และคำสั่งที่อยู่ข้างในต้อง "ย่อหน้า (Indentation)" เข้าไป 1 Tab (ประมาณ 4 เคาะ) เพื่อบอกว่าคำสั่งนี้เป็นของ if ตัวนี้นะ!
:
ถ้าเงื่อนไขเป็นจริงทำอย่างหนึ่ง แต่ถ้าไม่ใช่ (Else) ให้ไปทำอีกอย่างหนึ่งแทน
ใช้เมื่อมีเงื่อนไขให้ต้องตัดสินใจมากกว่า 2 อย่าง เช่น การตัดเกรด A, B, C, D, F (elif ย่อมาจาก else if)
elif
มาทดสอบการตัดสินใจของโปรแกรมเมอร์กัน!
ข้อที่ 1: เครื่องหมายเปรียบเทียบในข้อใด มีความหมายว่า "ไม่เท่ากับ" ?
ข้อที่ 2: กฎข้อใดสำคัญที่สุดเมื่อต้องการเขียนคำสั่งที่อยู่ภายใต้เงื่อนไข if หรือ else ?
ข้อที่ 3: หากนักเรียนต้องการเขียนโปรแกรมตัดเกรด A, B, C, D และ F ควรใช้โครงสร้างเงื่อนไขแบบใดจึงจะเหมาะสมที่สุด?