top of page

2.4  การแปลงชนิดข้อมูล

         ฟังก์ชัน input () จะรับข้อมูลเข้าจากจากผู้ใช้ผ่านทางคีย์บอร์ด และจะเป็นข้อมูลชนิดสตริงเท่านั้น ซึ่งไม่สามารถนำไปคำนวณทางคณิตศาสตร์

         นักเรียนคิดว่าคำสั่งต่อไปนี้ ทำงานได้หรือไม่

ทำงานได้หรือไม่.PNG

            หากพิมพ์คำสั่งในคอนโซลจะมีข้อผิดพลาดจากการทำงานในคำสั่ง area = width * length เพราะตัวแปร width และ length จะเก็บข้อมูลสตริง แม้ว่าผู้ใช้ป้อนข้อมูลเป็นตัวเลขก็ตาม ดังนั้นหากต้องการนำค่าที่รับจากฟังก์ชัน input () ไปใช้ในการคำนวณทางคณิตศาสตร์ จะต้องแปลงให้เป็นข้อมูลชนิจำนวนก่อนโดยใช้ฟังก์ชัน int () เพื่อแปลงสตริงเป็นจำนวนเต็ม หรือฟังก์ชัน float () เพื่อแปลงสตริงเป็นจำนวนจริง ดัง

 

      ตัวอย่าง 2.7

2.7-ตย.PNG

ผลลัพธ์ที่ได้คือ

2.7-ตย2.PNG

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

  1. หลังจากไพทอนรันคำสั่งในบรรทัดที่ 1 และผู้ใช้ป้อนตัวอักขระ “4” แล้ว ตัวแปร val จะเก็บข้อมูลสตริงของอักขระ “4” ซึ่งตรวจสอบได้จากคำสั่ง type (val) ในบรรทัดที่ 2

  2. บรรทัดที่ 3 ใช้ฟังก์ชัน int () ในการแปลงค่าสตริงของตัวแปรให้เป็นจำนวนเต็ม แล้วกำหนดค่าให้กับตัวแปร intVal ซึ่งตรวจสอบชนิดได้จากคำสั่งในบรรทัดที่ 4

ตัวอย่างที่ 2.8  ร่วมด้วยช่วยแชร์

        ถ้านักเรียนไปรับประทานอาหารฉลองวันปิดเทอมกับเพื่อน และตกลงกันว่าจะจ่ายค่าอาหารคนละเท่า ๆ กัน นักเรียนแต่ละคนจะต้องจ่ายค่าอาหารคนละเท่าใด ให้ใช้คำสั่งไพทอนแสดงวิธีหาคำตอบทีละลำดับ

แนวคิดการแก้ปัญหา

        จากแนวทางการแก้ปัญหานี้ในบทที่ 1 แนวทางการแก้ปัญหาอาจเขียนเป็นรหัสลำลองได้ดังนี้

              1. totalPrice 🡨 รับค่าอาหารทั้งหมด

              2. number 🡨 รับจำนวนผู้รับประทานอาหาร

              3. avg 🡨 ค่าอาหารทั้งหมด/จำนวนผู้รับประทานอาหาร

              4. แสดงผล avg

พิมพ์คำสั่งต่อไปนี้ในคอนโซล

2.8-ตย.PNG

         หากทดลองป้อนราคาอาหาร และจำนวนผู้รับประทานอาหาร เป็น 1289 บาท และ 15 คน  ตามลำดับ

จะได้ผลลัพธ์

2.8-ตย2.PNG
2.8-ชวนคิด.PNG

ใบกิจกรรม 2.3  ยังจำได้ไหม

2066457.png

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

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

bottom of page