เรียนรู้การควบคุมทางเลือกของโปรแกรมด้วยเงื่อนไข — ต่อเนื่องจากตัวแปร/ตัวดำเนินการ & การรับค่า/แสดงผล
โปรแกรมจำนวนมากต้อง “ตัดสินใจ” ตามเงื่อนไข เช่น ถ้าคะแนน ≥ 50 ให้ผ่าน มิฉะนั้นไม่ผ่าน — ใน Python
ใช้คำสั่ง if, elif, และ else พร้อมการเยื้องบรรทัด (indentation)
เพื่อกำหนดบล็อกคำสั่ง
# โครงสร้างพื้นฐาน
score = float(input("คะแนน: "))
if score >= 80:
print("ดีมาก")
elif score >= 50:
print("ผ่าน")
else:
print("ไม่ผ่าน")
: หลังเงื่อนไขทุกครั้ง# เปรียบเทียบ: ผลลัพธ์เป็น True/False == != > < >= <= # ตรรกะ: เชื่อมเงื่อนไขหลายตัว and or not # ตัวอย่าง: age = 15 has_ticket = True if age >= 13 and has_ticket: print("เข้าชมได้")
if condition:
# ทำบางอย่าง
if condition1:
...
elif condition2:
...
else:
...
status = "ผ่าน" if score >= 50 else "ไม่ผ่าน"
input() (ควรใช้ int() หรือ
float()), ลืม :, เยื้องบรรทัดไม่เท่ากัน
โจทย์: รับ อายุ และสถานะสมาชิก (y/n) ถ้าอายุ < 12 หรือ >= 60 หรือ เป็นสมาชิก ให้ลดราคา 20% มิฉะนั้นราคาปกติ
โจทย์: รับคะแนน 0–100 แล้วแสดงเกรด A(≥80), B(70–79), C(60–69), D(50–59), F(<50)
โจทย์: ปีอธิกสุรทินคือปีที่หาร 4 ลงตัว และ (ไม่ใช่ปีที่หาร 100 ลงตัว ยกเว้นหาร 400 ลงตัว) — เขียนโปรแกรมตรวจปี
เลือกทำอย่างน้อย 1 ข้อ (หรือทั้งหมด):
# เฉลยตัวอย่าง: ส่วนลดตามยอดซื้อ
total = float(input("ยอดซื้อรวม: "))
if total >= 5000:
disc = 0.15
elif total >= 2000:
disc = 0.10
elif total >= 1000:
disc = 0.05
else:
disc = 0.0
pay = total * (1 - disc)
print(f"ส่วนลด: {disc*100:.0f}%")
print(f"ชำระสุทธิ: {pay:.2f} บาท")
# เฉลยตัวอย่าง: ค่าแท็กซี่
km = float(input("ระยะทาง (กม.): "))
period = input("ช่วงเวลา (peak/off-peak): ").strip().lower()
base = 35
rate = 7.5 if period == "peak" else 6.5
fare = base + km * rate
print(f"ค่าโดยสาร: {fare:.2f} บาท")
# เฉลยตัวอย่าง: ตรวจความแข็งแรงรหัสผ่านง่าย ๆ
pw = input("พาสเวิร์ด: ")
has_digit = any(ch.isdigit() for ch in pw)
has_alpha = any(ch.isalpha() for ch in pw)
if len(pw) >= 8 and has_digit and has_alpha:
print("Strong")
else:
print("Weak")