1 回答
TA贡献1818条经验 获得超11个赞
你的意思是这样的吗?第一个if检查是否pay是"no"并跳过其余的代码。下的所有elif pay == "yes":内容仅在payis 时执行"yes"。
if pay == "no":
discount = 0
elif pay == "yes":
if 100 <= firstBill < 200:
discount = (firstBill * 0.015)
elif 200 <= firstBill < 400:
discount = (firstBill * 0.03)
elif 400 <= firstBill < 800:
discount = (firstBill * 0.04)
elif firstBill >= 800:
discount = (firstBill * 0.05)
else:
print("error")
else:
print("error")
顺便说一下,您可以链接比较运算符,例如x < y < z. 此外,您的代码会为 EXACTLY 200 或 EXACTLY 400 等打印“错误”。我假设这是无意的并修复了它。
您还可以以不同的方式编写 if 语句:
if pay == "yes":
if 100 <= firstBill < 200:
discount = (firstBill * 0.015)
elif 200 <= firstBill < 400:
discount = (firstBill * 0.03)
elif 400 <= firstBill < 800:
discount = (firstBill * 0.04)
elif firstBill >= 800:
discount = (firstBill * 0.05)
else:
print("error")
elif pay == "no":
discount = 0
else:
print("error")
它的工作原理完全相同。
添加回答
举报