
ว21172 เทคโนโลยี (วิทยาการคำนวณ)2
Benjamarachutit
Computing science2
3.2 เงื่อนไขทางเลือก
คำสั่ง if - else ช่วยให้โปรแกรมไพทอนสามารถตัดสินใจเลือกทำงานชุดคำสั่งตามผลลัพธ์ของเงื่อนไขซึ่งมีสองทางเลือก และหากมีทางเลือกมากกว่านั้น ผู้เขียนโปรแกรมต้องใช้คำสั่ง if – else ร่วมกัน หรือซ้อนกันเพื่อให้ได้จำนวนทางเลือกตามที่ต้องการไพทอนยังมีคำสั่งให้ใช้ในกรณีที่มีหลายทางเลือก คือ คำสั่ง if – elif – else ซึ่งจะช่วยให้สะดวกขึ้น โดยมีรูปแบบการใช้ดังนี้


ผู้เขียนโปรแกรมสามารถเพิ่มเติมเงื่อนไขทางเลือด และชุดคำสั่งที่สัมพันธ์กันภายใต้บล็อกของ elif ไปใช้อีก และสำหรับเงื่อนไข else อาจจะไม่จำเป็นต้องมีก็ได้
ตัวอย่างที่ 3.3 การใช้คำสั่ง if – elif - else สำหรับกรณีที่มากกว่า 2 ทางเลือก
เขียนโปรแกรมไพทอนเพื่อแจ้งราคาค่าโดยสารรถประจำทาง ซึ่งปกติราคา 6.50 บาท แต่ถ้าเป็นผู้สูงอายุจะเสียค่าโดยสารเพียงครึ่งเดียว และถ้าเป็นเด็กที่อายุไม่เกิน 3 ขวบ ไม่ต้องเสียค่าโดยสาร ดังนี้

ตัวอย่างที่ 3.3 อธิบายได้ดังนี้
-
บรรทัดที่ 1 กำหนดค่าโดยสาร 6.50 ไว้ในตัวแปร fare
-
บรรทัดที่ 2 รับอายุเก็บไว้ในตัวแปร age
-
บรรทัดที่ 3 ตรวจสอบเงื่อนไข ถ้าอายุตั้งแต่ 60 ปีขึ้นไปเป็นจริง จะลดราคาค่าโดยสารครึ่งหนึ่งแล้วเก็บตัวแปร fare จะเป็น fare/2 บาท
-
บรรทัดที่ 5 เป็นกรณีที่อายุน้อยกว่า 60 และไม่เกิน 3 ขวบ ซึ่งใช้คำสั่ง elif เพื่อสร้างทางเลือกนี้
-
บรรทัดที่ 7 เป็นกรณีอื่นนอกเหนือจากกรณีที่ระบุไปแล้ว คือ อายุในช่วงของผู้โดยสารทั่วไป จะพบว่าการใช้ if-elif-else ทำให้การเขียนโปรแกรมกะทัดรัด และตรวจสอบได้ง่ายขึ้น

ตัวอย่างที่ 3.4 การหาพื้นที่วงกลม สามเหลี่ยม หรือสี่เหลี่ยม
เขียนโปรแกรมไพทอนเพื่อผู้ใช้สามารถเลือกได้ว่าต้องการให้โปรแกรมคำนวณหาพื้นที่ของวงกลมสามเหลี่ยม หรือสี่เหลี่ยม

ตัวอย่างที่ 3.4 อธิบายได้ดังนี้
-
บรรทัดที่ 3 รับข้อมูลเข้าจากผู้ใช้เป็นตัวอักษร เก็บไว้ในตัวแปร shape ที่ระบุทางเลือกของรูปหลายเหลี่ยมที่ต้องการให้หาพื้นที่
-
บรรทัดที่ 4,7 และ 11 เป็นการเปรียบเทียบข้อมูลที่ผู้ใช้กรอกว่าตรงกับการหาพื้นที่วงกลม สามเหลี่ยม และสี่เหลี่ยม ตามลำดับ