🐍 บทที่ 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`
🔙 ย้อนกลับ 📖 ไปยังบทถัดไป