Avocado=eval(input("Enter amount of Avocadoes"))
if Avocado<=10:1.50*Avocado
else Avocado>=11:0.89*Avocado
print ("The price is", int(Avocado))
我正在尝试编写一个程序,将鳄梨的价格定为10或更低,而另一价格为11或更高。
我在第3行鳄梨中出现语法错误,我有点困惑,因为如果使用公式,我希望在第2行中出现错误。
解决方案会是这样吗?
if Avocado<=10=1.50*Avocado
else Avocado>=11=0.89*Avocado
我知道这也会出现语法错误,我觉得那倒退了。
答案 0 :(得分:0)
您需要一个单独的变量来存储给定数量的鳄梨的总价格。
avocados = int(input("Enter amount of avocados"))
if avocados <= 10:
cost = 1.5 * avocados
else:
cost = 0.89 * avocados
# Or more tersely
# cost = avocados * (1.5 if avocados <= 10 else 0.89)
print("The price is ${}".format(cost))
通常,请尽量避免使用float
来代表金钱。 (您不希望舍入错误会导致损失金钱或欺骗某人的金钱。)将货币金额表示为整数美分(或任何最小货币单位),然后转换为美元和美分以供显示。 / p>
cost = avocados * (150 if avocados <= 10 else 89)
print("The price is ${}.{}".format(*divmod(cost, 100)))
答案 1 :(得分:0)
我以为你甚至没有用python编写它。 嗯...太多话了。
while True:
try:
avocado = int(input("Enter amount of avocadoes: "))
break
except ValueError as e:
print("Please input a number")
continue
if avocado < 10:
avocado = 1.50*avocado
else:
avocado = 0.89*avocado
print("The price is", int(avocado))