Python การใช้งานเมธอด input()

เมธอด input() ใน Python ใช้สำหรับรับข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ดในรูปแบบของ string โดยค่าที่รับจาก input() จะถูกเก็บไว้ในตัวแปรในรูปแบบ string เสมอ แม้ว่าผู้ใช้จะป้อนข้อมูลตัวเลขก็ตาม หากต้องการให้ข้อมูลที่ได้รับอยู่ในรูปแบบอื่น ๆ เช่น ตัวเลข จำเป็นต้องแปลงค่าเหล่านั้นก่อน เช่น ด้วยเมธอด int() หรือ float()

รูปแบบการใช้งาน input()

input(prompt)

prompt: เป็นข้อความที่จะแสดงเพื่อให้ผู้ใช้ทราบว่าต้องป้อนข้อมูลอะไรลงไป (เป็นค่า optional ไม่ใส่ก็ได้)

ตัวอย่างการใช้งาน input()

รับข้อมูลเป็น string

Python
name = input("Enter your name: ")
print(f"Hello, {name}")

ในตัวอย่างนี้ Python จะแสดงข้อความ “Enter your name: ” รอให้ผู้ใช้ป้อนข้อมูล เมื่อผู้ใช้ป้อนชื่อแล้วกด Enter ค่านั้นจะถูกเก็บในตัวแปร name และพิมพ์คำทักทายออกมา

รับข้อมูลเป็นตัวเลข (int)

Python
age = int(input("Enter your age: "))
print(f"You are {age} years old.")

ที่นี่ เราใช้ int() เพื่อแปลงข้อมูลที่ได้รับจาก input() ซึ่งเป็น string ให้เป็น integer

รับข้อมูลเป็นตัวเลขทศนิยม (float)

Python
height = float(input("Enter your height in meters: "))
print(f"Your height is {height} meters.")

เช่นเดียวกับการแปลงเป็น int() ที่นี่เราใช้ float() เพื่อแปลง string ที่ได้รับจาก input() เป็น float สำหรับค่าที่เป็นทศนิยม

รับข้อมูลหลายค่าพร้อมกัน

Python
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)

Python
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

Python
response = input("Do you want to continue? (yes/no): ").lower()
if response == 'yes':
    print("Continuing...")
else:
    print("Stopping...")

ในตัวอย่างนี้ ข้อมูลที่รับเข้ามาจะถูกแปลงเป็นตัวอักษรเล็กทั้งหมดด้วย lower() เพื่อให้สามารถตรวจสอบค่าที่ป้อนเข้ามาโดยไม่สนใจตัวพิมพ์ใหญ่หรือเล็ก

ข้อควรระวัง

  • ข้อมูลที่รับจาก input() เป็น string เสมอ ต้องทำการแปลงข้อมูลก่อนใช้ในประเภทอื่นๆ
  • ควรจัดการกับข้อผิดพลาดที่อาจเกิดขึ้น เช่น การแปลงข้อมูลผิดประเภท (ValueError)

ด้วยวิธีนี้ เราสามารถรับข้อมูลจากผู้ใช้และนำไปประยุกต์ใช้กับโปรแกรมในหลายรูปแบบ

แชร์เรื่องนี้