3 回答
TA贡献1809条经验 获得超8个赞
在计算成本的最后一行中:
subtotal=(askSize + askBeverage + askFlav)
您不会对在文件顶部定义的变量(带有成本)求和,而是将用户输入的字符串串联起来。例如askSize可以是字符串“small”。所以,你在这里所做的可以写成:
subtotal=("small" + "tee" + "lemon")
在 Python 中,+在字符串之间使用将连接它们。这意味着它将一个接一个地添加字符串以形成更大的字符串。例子:"foo" + "bar" = "foobar"。
如果您想参考每个选项的成本,一种解决方案(但还有其他解决方案)是使用字典来存储成本,而不是像您那样存储多个变量:
# Dictionary of costs
costs = {"tea": 1.50,
"coffee": 1.50,
"small": 0,
"medium": 0.75,
"large": 1.75,
"mint": 0.50,
"lemon": 0.25,
"chocolate": 0.75,
"vanilla": 0.25,
"none": 0
}
然后,要获取与字符串对应的数字,您可以从字典中获取项目:
tea_cost = costs["tea"] # tea_cost will be equal to 1.50
ask_size_cost = costs[askSize] # ask_size_cost will be equal to the cost of the asked size
现在,很容易获得您的总成本:
total_cost = costs[askSize] + costs[askBeverage] + costs[askFlav]
当然,注意字符串大小写,在我的示例中,所有内容都必须小写。
希望能帮助到你 !
注意:您可以对其余代码进行许多改进,请不要犹豫,阅读互联网上的一些 Python 代码以使其更好。
TA贡献1843条经验 获得超7个赞
你的 askSize、askBeverage、askFlav 是字符串,所以你不能在不变成数字的情况下添加它们。最直接的解决方案是将它们更改为浮动。
subtotal=float(askSize) + float(askBeverage) + float(askFlav)
print("For {}, a {} {}, with {:.2f} flavoring, cost: {}".format(askName,askSize,askBeverage,askFlav, subtotal))
看来你刚刚开始学习编程。Python 是一种很好的入门语言。请享受!
添加回答
举报