我有一个语法错误,我在python代码中感到困惑
deliveryValue= input("Is this order for delivery? Y/N")
float (DeliveryTime = 0)
str (zipcode=none)
float (DeliveryFee =0)
if deliveryValue == 'y' or 'Y':
address = input ("what is the delivery address?")
zipcode = input ("What zipcode is the address in?")
if zipcode == 84041:
DeliveryTime = 30
DeliveryFee = 6.50
else:
DeliveryTime = 45
DeliveryFee = 7.50
else:
DeliveryFee = 0
if邮政编码== 84041:该行出现错误,但是我尝试在其周围放置''和'“,但仍然存在相同的错误。我写的正确吗?
谢谢。
答案 0 :(得分:0)
尝试将if语句更改为
if deliveryValue in 'yY':
您也可以使用
if deliveryValue == 'y' or deliveryValue == 'Y':
答案 1 :(得分:0)
一些问题:
if
语句的条件表达式始终为True
,因为'Y'
始终为True
。如果要不区分大小写地比较字符串,请在字符串变量上使用lower()
方法。if
语句缩进了比应该缩进的一级。zipcode
的值是一个字符串,因为它是input()
函数的返回值。因此,您应该将其与字符串而不是整数进行比较。在解决了上述问题之后,您的代码应如下所示:
deliveryValue= input("Is this order for delivery? Y/N")
DeliveryTime = 0
zipcode = None
DeliveryFee = 0
if deliveryValue.lower() == 'y':
address = input ("what is the delivery address?")
zipcode = input ("What zipcode is the address in?")
if zipcode == '84041':
DeliveryTime = 30
DeliveryFee = 6.50
else:
DeliveryTime = 45
DeliveryFee = 7.50
else:
DeliveryFee = 0