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

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

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

จากตัวอย่างที่ 2.7 อธิบายได้ดังนี้
-
หลังจากไพทอนรันคำสั่งในบรรทัดที่ 1 และผู้ใช้ป้อนตัวอักขระ “4” แล้ว ตัวแปร val จะเก็บข้อมูลสตริงของอักขระ “4” ซึ่งตรวจสอบได้จากคำสั่ง type (val) ในบรรทัดที่ 2
-
บรรทัดที่ 3 ใช้ฟังก์ชัน int () ในการแปลงค่าสตริงของตัวแปรให้เป็นจำนวนเต็ม แล้วกำหนดค่าให้กับตัวแปร intVal ซึ่งตรวจสอบชนิดได้จากคำสั่งในบรรทัดที่ 4
ตัวอย่างที่ 2.8 ร่วมด้วยช่วยแชร์
ถ้านักเรียนไปรับประทานอาหารฉลองวันปิดเทอมกับเพื่อน และตกลงกันว่าจะจ่ายค่าอาหารคนละเท่า ๆ กัน นักเรียนแต่ละคนจะต้องจ่ายค่าอาหารคนละเท่าใด ให้ใช้คำสั่งไพทอนแสดงวิธีหาคำตอบทีละลำดับ
แนวคิดการแก้ปัญหา
จากแนวทางการแก้ปัญหานี้ในบทที่ 1 แนวทางการแก้ปัญหาอาจเขียนเป็นรหัสลำลองได้ดังนี้
1. totalPrice 🡨 รับค่าอาหารทั้งหมด
2. number 🡨 รับจำนวนผู้รับประทานอาหาร
3. avg 🡨 ค่าอาหารทั้งหมด/จำนวนผู้รับประทานอาหาร
4. แสดงผล avg
พิมพ์คำสั่งต่อไปนี้ในคอนโซล

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

