top of page

3.2 เงื่อนไขทางเลือก

       

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

เงื่อนไขทางเลือก.PNG
เงื่อนไขทางเลือก2.PNG

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

ตัวอย่างที่ 3.3 การใช้คำสั่ง if – elif - else สำหรับกรณีที่มากกว่า 2 ทางเลือก

           เขียนโปรแกรมไพทอนเพื่อแจ้งราคาค่าโดยสารรถประจำทาง ซึ่งปกติราคา 6.50 บาท แต่ถ้าเป็นผู้สูงอายุจะเสียค่าโดยสารเพียงครึ่งเดียว และถ้าเป็นเด็กที่อายุไม่เกิน 3 ขวบ ไม่ต้องเสียค่าโดยสาร ดังนี้

3.3-ตย.PNG

ตัวอย่างที่ 3.3 อธิบายได้ดังนี้

  1. บรรทัดที่ 1 กำหนดค่าโดยสาร 6.50 ไว้ในตัวแปร fare

  2. บรรทัดที่ 2 รับอายุเก็บไว้ในตัวแปร age

  3. บรรทัดที่ 3 ตรวจสอบเงื่อนไข ถ้าอายุตั้งแต่ 60 ปีขึ้นไปเป็นจริง จะลดราคาค่าโดยสารครึ่งหนึ่งแล้วเก็บตัวแปร fare จะเป็น fare/2 บาท

  4. บรรทัดที่ 5 เป็นกรณีที่อายุน้อยกว่า 60 และไม่เกิน 3 ขวบ ซึ่งใช้คำสั่ง elif เพื่อสร้างทางเลือกนี้

  5. บรรทัดที่ 7 เป็นกรณีอื่นนอกเหนือจากกรณีที่ระบุไปแล้ว คือ อายุในช่วงของผู้โดยสารทั่วไป จะพบว่าการใช้ if-elif-else ทำให้การเขียนโปรแกรมกะทัดรัด และตรวจสอบได้ง่ายขึ้น

3.3-ชวนคิด.PNG

ตัวอย่างที่ 3.4 การหาพื้นที่วงกลม สามเหลี่ยม หรือสี่เหลี่ยม 

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

3.4-ตย.PNG

ตัวอย่างที่ 3.4 อธิบายได้ดังนี้

  1. บรรทัดที่ 3 รับข้อมูลเข้าจากผู้ใช้เป็นตัวอักษร เก็บไว้ในตัวแปร shape ที่ระบุทางเลือกของรูปหลายเหลี่ยมที่ต้องการให้หาพื้นที่

  2. บรรทัดที่ 4,7 และ 11 เป็นการเปรียบเทียบข้อมูลที่ผู้ใช้กรอกว่าตรงกับการหาพื้นที่วงกลม สามเหลี่ยม และสี่เหลี่ยม ตามลำดับ

อ้างอิงจาก หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์  เทคโนโลยี (วิทยาการคำนวณ)

                  สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ

bottom of page