ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีรับอินพุทใน Python
ใน Python 2 มีฟังก์ชันสองตัวสำหรับรับอินพุทคือ raw_input และ input
- ฟังก์ชัน raw_input([prompt]) ใช้รับสตริงจากผู้ใช้
- ฟังก์ชัน input([prompt]) ใช้รับจำนวนเต็มจากผู้ใช้
ตัวอย่าง (Python 2)
# รับอินพุท 'string'
a = raw_input('Enter your name:- ')
# พิมพ์ชนิดข้อมูล
print(type(a))
# รับอินพุท 'int'
b = input()
# พิมพ์ชนิดข้อมูล
print(type(b))
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้
Enter your name:- Tutorialspoint <type 'str'> 5 <type 'int'>
ใน Python 3 ฟังก์ชัน raw_input() ถูกลบออก ตอนนี้มีแค่ input([prompt]) และทุกอย่างที่ผู้ใช้ป้อนจะเป็นสตริงเสมอ
เราต้องแปลงเป็นชนิดข้อมูลที่ต้องการด้วยฟังก์ชัน built-in ลองดูตัวอย่าง
ตัวอย่าง (Python 3)
# รับอินพุทจากผู้ใช้
a = input('Enter a name:- ')
# พิมพ์ข้อมูล
print(type(a), a)
# ขอตัวเลขจากผู้ใช้
b = input('Enter a number:- ')
# แปลง 'string' เป็น 'int'
b = int(b)
# พิมพ์ข้อมูล
print(type(b), b)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้
Enter a name:- Tutorialspoint <class 'str'> Tutorialspoint Enter a number:- 5 <class 'int'> 5
สรุป
Python 3 ใช้ input() อย่างเดียว คืนค่าสตริงเสมอ ต้องแปลงชนิดข้อมูลเอง หากมีข้อสงสัย กรุณาแจ้งในส่วนความคิดเห็น