🐍 บทที่ 5: การรับค่าและการแสดงผลใน Python
📌 การรับค่า (Input) และการแสดงผล (Output) คืออะไร?
ในการเขียนโปรแกรม Python เราจำเป็นต้องให้ผู้ใช้สามารถป้อนข้อมูลเข้าไปได้ (**input**) และแสดงผลลัพธ์ที่ต้องการออกทางหน้าจอ (**output**)
Python ใช้คำสั่ง `input()` สำหรับรับค่า และ `print()` สำหรับแสดงผล
🖥️ การแสดงผลด้วย `print()`
ใช้ `print()` เพื่อแสดงผลข้อความบนหน้าจอ
# แสดงข้อความธรรมดา
print("Hello, Python!")
# แสดงผลหลายค่าพร้อมกัน
name = "Jhon"
age = 21
print("ชื่อ:", name, "อายุ:", age)
ผลลัพธ์:
Hello, Python!
ชื่อ: Jhon อายุ: 21
📝 การรับค่าจากผู้ใช้ด้วย `input()`
ใช้ `input()` เพื่อรับค่าจากคีย์บอร์ด
# รับค่าชื่อจากผู้ใช้
name = input("ป้อนชื่อของคุณ: ")
print("สวัสดี", name)
เมื่อผู้ใช้ป้อน `"Jhon"` จะแสดงผล:
ป้อนชื่อของคุณ: Jhon
สวัสดี Jhon
🔢 รับค่าตัวเลขจากผู้ใช้
ค่า `input()` ที่รับมาจะเป็น **ข้อความ (`str`)** เสมอ ถ้าต้องการใช้เป็นตัวเลขต้องแปลงค่าโดยใช้ `int()` หรือ `float()`
# รับค่าจำนวนเต็ม
num1 = int(input("ป้อนตัวเลขที่ 1: "))
# รับค่าจำนวนจริง
num2 = float(input("ป้อนตัวเลขที่ 2: "))
# คำนวณผลรวม
result = num1 + num2
print("ผลรวม:", result)
เมื่อป้อน `10` และ `2.5` จะแสดงผล:
ป้อนตัวเลขที่ 1: 10
ป้อนตัวเลขที่ 2: 2.5
ผลรวม: 12.5
🎯 การจัดรูปแบบข้อความ (String Formatting)
Python มีหลายวิธีในการจัดรูปแบบข้อความ
1️⃣ การใช้ `+` เชื่อมข้อความ
name = "Jhon"
age = 21
print("ชื่อ: " + name + " อายุ: " + str(age))
2️⃣ การใช้ `f-string` (Python 3.6+)
name = "Jhon"
age = 21
print(f"ชื่อ: {name} อายุ: {age}")
3️⃣ การใช้ `.format()`
name = "Jhon"
age = 21
print("ชื่อ: {} อายุ: {}".format(name, age))
🔄 การเปลี่ยนแปลงรูปแบบของ `print()`
สามารถกำหนด **ตัวคั่นข้อความ (`sep`)** และ **การขึ้นบรรทัด (`end`)** ได้
print("Python", "is", "awesome", sep=" - ")
print("Hello", end=" ")
print("World")
ผลลัพธ์:
Python - is - awesome
Hello World
📌 สรุป
- ✅ ใช้ `print()` สำหรับแสดงผล
- ✅ ใช้ `input()` เพื่อรับค่าจากผู้ใช้
- ✅ ค่าที่รับมาจาก `input()` เป็น `str` เสมอ ต้องแปลงเป็นตัวเลขถ้าต้องการใช้
- ✅ ใช้ `f-string`, `.format()` หรือ `+` เชื่อมข้อความ
- ✅ ปรับแต่ง `print()` ด้วย `sep` และ `end`