โปรแกรมถูกเขียนเพื่อแก้ปัญหาเฉพาะของผู้ใช้ ดังนั้นโปรแกรมจึงต้องสามารถโต้ตอบกับผู้ใช้ได้ หมายความว่าโปรแกรมต้องรับอินพุตจากผู้ใช้และดำเนินการตามที่ผู้ใช้ให้มา
วิธีรับอินพุตแตกต่างกันไปตามชนิดข้อมูล (datatype) เราจะพูดถึงวิธีรับอินพุตสำหรับชนิดข้อมูลต่างๆ รวมถึงการรับอินพุตเป็นอาเรย์ (Array)
การรับอินพุตแบบ String
เมธอด input() ใช้สำหรับรับอินพุตแบบ String จากผู้ใช้ ผู้ใช้สามารถป้อนตัวเลขได้ แต่จะถูกจัดการเป็น String โปรแกรมสามารถมีตรรกะหรือการดำเนินการใดๆ กับ String ที่ผู้ใช้ป้อน แต่ในตัวอย่างเราจะแค่พิมพ์ String ที่ผู้ใช้ป้อน
ตัวอย่าง
print("Enter a string")
a = input()
print("The string entered by user is", a)
ผลลัพธ์
Enter a string
TutorialsPoint
The string entered by user is TutorialsPoint
ตัวอย่างข้างต้นเมื่อรัน จะแสดงข้อความ "Enter a string" บนหน้าจอ และรอให้ผู้ใช้ป้อนข้อมูล เมื่อฟังก์ชัน input() ทำงาน โปรแกรมจะหยุดรอจนกว่าผู้ใช้จะป้อนข้อมูล หลังจากป้อน String แล้ว คำสั่ง print ตัวที่สองจะทำงาน
การรับอินพุตแบบ Integer
อินพุตแบบ Integer สามารถรับได้โดยการแปลงชนิดข้อมูล (type casting) ของค่าที่ได้จาก input() ดังนั้นสำหรับการรับอินพุตแบบ Integer เราใช้ int(input()) ผู้ใช้สามารถป้อนตัวเลขเท่านั้น มิฉะนั้นจะเกิดข้อผิดพลาด
ตัวอย่าง
print("Enter a number")
a = int(input())
print("The number entered by user is", a)
ผลลัพธ์
Enter a number
10
The number entered by user is 10
การรับอินพุตแบบ Float
อินพุตแบบ Float สามารถรับได้โดยการแปลงชนิดข้อมูลของค่าที่ได้จาก input() เราจะใช้ float(input()) ผู้ใช้สามารถป้อนตัวเลขจำนวนเต็มหรือทศนิยมได้ แต่ค่าจะถูกจัดการเป็น float
ตัวอย่าง
print("Enter a number")
a = float(input())
print("The number entered by user is", a)
ผลลัพธ์
Enter a number
2.5
The number entered by user is 2.5
การรับอินพุตเป็น Array ของจำนวนเต็ม
บางครั้งเราอาจต้องการรับ Array เป็นอินพุตจากผู้ใช้ ไม่มีไวยากรณ์แยกต่างหากสำหรับการรับ Array input
ตัวอย่าง
print("Enter no. of elements")
a = int(input())
print("Enter", a, "integer elements")
array = []
for i in range(a):
array.append(int(input()))
print("Array entered by user is", array)
ผลลัพธ์
Enter no. of elements
5
Enter 5 integer elements
1
2
3
4
5
Array entered by user is [1, 2, 3, 4, 5]
ในตัวอย่างข้างต้น ขนาดของ Array ถูกรับเข้ามาจากผู้ใช้ จากนั้นประกาศ Array และใช้ for loop รับสมาชิกเพิ่มเติมจากผู้ใช้และนำไป append เข้า Array
สำหรับการรับ String Array input สามารถใช้ input() แทน int(input()) ภายใน for loop ได้