เมธอด input() ใน Python ใช้สำหรับรับข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ดในรูปแบบของ string โดยค่าที่รับจาก input() จะถูกเก็บไว้ในตัวแปรในรูปแบบ string เสมอ แม้ว่าผู้ใช้จะป้อนข้อมูลตัวเลขก็ตาม หากต้องการให้ข้อมูลที่ได้รับอยู่ในรูปแบบอื่น ๆ เช่น ตัวเลข จำเป็นต้องแปลงค่าเหล่านั้นก่อน เช่น ด้วยเมธอด int() หรือ float()
รูปแบบการใช้งาน input()
input(prompt)
prompt: เป็นข้อความที่จะแสดงเพื่อให้ผู้ใช้ทราบว่าต้องป้อนข้อมูลอะไรลงไป (เป็นค่า optional ไม่ใส่ก็ได้)
ตัวอย่างการใช้งาน input()
รับข้อมูลเป็น string
name = input("Enter your name: ")
print(f"Hello, {name}")ในตัวอย่างนี้ Python จะแสดงข้อความ “Enter your name: ” รอให้ผู้ใช้ป้อนข้อมูล เมื่อผู้ใช้ป้อนชื่อแล้วกด Enter ค่านั้นจะถูกเก็บในตัวแปร name และพิมพ์คำทักทายออกมา
รับข้อมูลเป็นตัวเลข (int)
age = int(input("Enter your age: "))
print(f"You are {age} years old.")ที่นี่ เราใช้ int() เพื่อแปลงข้อมูลที่ได้รับจาก input() ซึ่งเป็น string ให้เป็น integer
รับข้อมูลเป็นตัวเลขทศนิยม (float)
height = float(input("Enter your height in meters: "))
print(f"Your height is {height} meters.")เช่นเดียวกับการแปลงเป็น int() ที่นี่เราใช้ float() เพื่อแปลง string ที่ได้รับจาก input() เป็น float สำหรับค่าที่เป็นทศนิยม
รับข้อมูลหลายค่าพร้อมกัน
x, y = input("Enter two numbers separated by a space: ").split()
x = int(x)
y = int(y)
print(f"Sum: {x + y}")ในตัวอย่างนี้ เราใช้ split() เพื่อแยก string ที่รับเข้ามาตามช่องว่าง (space) แล้วเก็บในตัวแปร x และ y ก่อนจะทำการแปลงเป็น int() และนำค่ามารวมกัน
รับข้อมูลจากผู้ใช้เป็นรายการ (list)
numbers = input("Enter numbers separated by commas: ").split(',')
numbers = [int(num) for num in numbers]
print(f"List of numbers: {numbers}")เราสามารถใช้ split() เพื่อแยกข้อมูลที่รับเข้ามาโดยใช้เครื่องหมายจุลภาคเป็นตัวแยก จากนั้นจะแปลงแต่ละค่าจาก string เป็น integer แล้วจัดเก็บในรูปแบบของ list
รับข้อมูล boolean
response = input("Do you want to continue? (yes/no): ").lower()
if response == 'yes':
print("Continuing...")
else:
print("Stopping...")ในตัวอย่างนี้ ข้อมูลที่รับเข้ามาจะถูกแปลงเป็นตัวอักษรเล็กทั้งหมดด้วย lower() เพื่อให้สามารถตรวจสอบค่าที่ป้อนเข้ามาโดยไม่สนใจตัวพิมพ์ใหญ่หรือเล็ก
ข้อควรระวัง
- ข้อมูลที่รับจาก
input()เป็น string เสมอ ต้องทำการแปลงข้อมูลก่อนใช้ในประเภทอื่นๆ - ควรจัดการกับข้อผิดพลาดที่อาจเกิดขึ้น เช่น การแปลงข้อมูลผิดประเภท (
ValueError)
ด้วยวิธีนี้ เราสามารถรับข้อมูลจากผู้ใช้และนำไปประยุกต์ใช้กับโปรแกรมในหลายรูปแบบ
