วันอาทิตย์ที่ 26 กุมภาพันธ์ พ.ศ. 2560

2.2 การรับข้อมูลจากแป้นพิมพ์ python

2.2 การรับข้อมูลจากแป้นพิมพ์

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

1.   การป้อนข้อมูลเพื่อรับค่าตัวเลข 
             การรับข้อมูลจากแป้นพิมพ์เป็นการนำเข้าข้อมูล เฉพาะข้อมูลประเภทตัวเลขเท่านั้น รูปแบบคำสั่ง ได้แก่
                                <variable> = input("text")  เช่น
 number = input("กรุณาป้อนจำนวนนักศึกษา : ")

การทำงานของคำสั่ง จะแสดงข้อความ "กรุณาป้อนจำนวนนักศึกษา : "   ถ้าผู้ใช้ป้อนตัวเลขจำนวนใด ๆ แล้วกดปุ่ม Enter ตัวเลขค่านั้นจะจัดเก็บอยู่ในตัวแปร number หลังจากนั้นนำตัวแปร number ไปใช้ในคำสั่งใด ๆ เพื่อการคำนวณได้

2.   การป้อนข้อมูลเพื่อรับค่าตัวอักขระ 
            การรับข้อมูลจากแป้นพิมพ์ เป็นการนำเข้าข้อมูลจากผู้ใช้อีกกรณีหนึ่ง แต่เหมาะสำหรับตัวอักขระหรือสายอักขระเท่านั้น เช่น ชื่อ  นามสกุล  ที่อยู่ เป็นต้น มีรูปแบบดังนี้
    
                              <variable> = raw_input(" text")  เช่น
                                name = raw_input("กรุณาป้อนชื่อนักศึกษา : ")

            การทำงานของคำสั่งนี้ มีความหมายเดียวกับคำสั่งการรับค่าตัวเลข คือ ข้อมูลที่ถูกป้อนโดยผู้ใช้ จะเก็บไว้ในตัวแปร name แล้วนำตัวแปร name ไปใช้เพื่อประมวลผลคำสั่งอื่น ๆ ได้ต่อไป แต่ถ้าผู้เขียนโปรแกรมเขียนคำสั่งรับค่าผิดไป หรือในกรณีที่ผู้ป้อนข้อมูลป้อนผิดพลาด จะเกิดข้อผิดพลาด เกิดขึ้นได้ ดังกรณีต่อไปนี้
 
>>> inp = input("กรุณาป้อนรายชื่อ : ")
กรุณาป้อนรายชื่อ : ทวีรัตน์

Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    inp = input("กรุณาป้อนรายชื่อ : ")
  File "<string>", line 1, in <module>
NameError: name 'ทวีรัตน์' is not defined

ภาพที่ 2.13 แสดงคำสั่งเพื่อรับการป้อนข้อมูลที่ไม่ถูกต้อง
            จากภาพที่ 2.13 สาเหตุที่โปรแกรมไพธอน รายงานข้อผิดพลาดเพราะผู้เขียนคำสั่ง ต้องการรับข้อมูลประเภทตัวเลข แต่ผู้ใช้ป้อนข้อมูลประเภทสายอักขระเข้าไป ซึ่งไพธอนจะกำหนดให้ผู้ป้อนต้องป้อนตัวเป็นตัวเลขเท่านั้น วิธีแก้ปัญหาเหล่านี้สามารถแก้ปัญหาได้โดยการใช้คำสั่ง  raw_input  แทน input ทุกกรณีได้  เพียงแต่ไปเปลี่ยนชนิดตัวแปรเดิมด้วยฟังก์ชัน int เช่น  

                                input_no = raw_input("กรุณาป้อนจำนวนตัวเลข : ")
            กรุณาป้อนจำนวนตัวเลข : 123
            input_no = int(input_no)


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...