变量语法无效

时间:2019-03-22 00:54:05

标签: python

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

我知道这也会出现语法错误,我觉得那倒退了。

2 个答案:

答案 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))