ใช้เงื่อนไข if ซ้อนเงื่อนไข if เขียนโปรแกรมเพื่อตัดสินใจซื้อหนังสือ
โจทย์
ร้านหนังสือจัดโปรโมชั่นส่วนลดให้กับลูกค้าสำหรับหนังสือที่มีราคาเกิน 50 บาทดังนี้
ถ้าซื้อหนังสือเพียง 1 เล่มได้รับส่วนลด 5 บาท
ถ้าซื้อหนังสือ 2 เล่มขึ้นไปแต่ไม่เกิน 5 เล่มได้รับส่วนลดเล่มละ 10 บาททุกเล่ม
ถ้าซื้อหนังสือตั้งแต่ 6 เล่มขึ้นไปได้รับส่วนลดเล่มละ 12 บาททุกเล่มหรือลด 5% จากราคารวมโดยเลือกสิทธิที่ได้รับส่วนลดมากกว่า
จงเขียนโปรแกรมเพื่อคำนวณส่วนลดที่ลูกค้าจะได้รับ
โปรแกรม
n = int(input("How many books have you bought?"))
p = int(input("How much do you pay for the books?"))
if n == 1:
print("Your discount is 5 bahts.")
elif n <= 5:
print("Your discount is %d bahts." % n * 10)
elif n >= 6:
d1 = n * 12
d2 = p * 0.05
if d1 > d2:
print("Your discount is %d bahts." % d1)
else:
print("Your discount is %d bahts." % d2)
คำอธิบายโปรแกรม
โปรแกรมเริ่มต้นด้วยการรับข้อมูลจากผู้ใช้:
n
คือจำนวนหนังสือที่ซื้อp
คือราคารวมของหนังสือทั้งหมด
จากนั้นโปรแกรมใช้เงื่อนไข if-elif เพื่อตรวจสอบจำนวนหนังสือและคำนวณส่วนลด:
ถ้า
n == 1
(ซื้อหนังสือ 1 เล่ม):แสดงผลว่าได้ส่วนลด 5 บาท
ถ้า
n <= 5
(ซื้อหนังสือ 2-5 เล่ม):คำนวณส่วนลดโดย n * 10 (ส่วนลดเล่มละ 10 บาท)
แสดงผลส่วนลดที่ได้
ถ้า
n >= 6
(ซื้อหนังสือ 6 เล่มขึ้นไป):คำนวณส่วนลดแบบที่ 1:
d1 = n * 12
(ส่วนลดเล่มละ 12 บาท)คำนวณส่วนลดแบบที่ 2:
d2 = p * 0.05
(ส่วนลด 5% จากราคารวม)เปรียบเทียบ d1 กับ d2:
ถ้า d1 มากกว่า d2 แสดงผลส่วนลด d1
ถ้าไม่ใช่ แสดงผลส่วนลด d2
โปรแกรมจะแสดงผลส่วนลดที่ลูกค้าจะได้รับตามเงื่อนไขที่กำหนด