为了给您一些背景信息,我正在做的项目是根据用户的输入创建帐单,如果用户希望在10天内付款,则项目的一部分会概述折扣。
我们的老师说我们必须在项目中嵌套if语句,但是我不确定为什么或如何。
我错过了嵌套课程,而且我不知道如何成功地执行if语句,而且我在网上看到的所有内容都超出了我的技能水平,而且我看不到我的代码出了什么问题。
#finding out the potential discount for paying within 10 days
if pay == "no":
discount = 0
if pay == "yes" and firstBill > 100 and firstBill < 200:
discount = (firstBill * 0.015)
elif pay == "yes" and firstBill > 200 and firstBill < 400:
discount = (firstBill * 0.03)
elif pay == "yes" and firstBill > 400 and firstBill < 800:
discount = (firstBill * 0.04)
elif pay == "yes" and firstBill > 800:
discount = (firstBill * 0.05)
else:
print("error")
else:
print("error")
答案 0 :(得分:2)
您的意思是这样的吗?第一个if
检查pay
是否为"no"
,并跳过其余代码。 elif pay == "yes":
下的所有内容仅在pay
为"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
那样链接比较运算符。另外,您的代码会为“完全”或“完全” 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")
它将完全相同。