猿问

如何为 Python 中的用户字符串输入分配数值

我有一个学校作业,它要求一些用户输入,以确定用户是否想要牛奶、果汁、它的大小。例如,牛奶成本 4.00 美元,升级到大容量成本 0.40 美元。最后,输出应为 ex。

大牛奶,成本:4.55 美元

我的问题是,如何为每个相应的字符串输入分配一个值?在以下代码的末尾,成本只是针对字符串的总和吐出,而不是实际将每个成本相加并吐出总数。我似乎无法弄清楚我应该在这里做什么。


慕标5832272
浏览 171回答 3
3回答

海绵宝宝撒

在计算成本的最后一行中:subtotal=(askSize + askBeverage + askFlav)您不会对在文件顶部定义的变量(带有成本)求和,而是将用户输入的字符串串联起来。例如askSize可以是字符串“small”。所以,你在这里所做的可以写成:subtotal=("small" + "tee" + "lemon")在 Python 中,+在字符串之间使用将连接它们。这意味着它将一个接一个地添加字符串以形成更大的字符串。例子:"foo" + "bar" = "foobar"。如果您想参考每个选项的成本,一种解决方案(但还有其他解决方案)是使用字典来存储成本,而不是像您那样存储多个变量:# Dictionary of costscosts = {"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.50ask_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 代码以使其更好。

蓝山帝景

你的 askSize、askBeverage、askFlav 是字符串,所以你不能在不变成数字的情况下添加它们。最直接的解决方案是将它们更改为浮动。 subtotal=float(askSize) + float(askBeverage) + float(askFlav)print("For {}, a {} {}, with {:.2f} flavoring, cost: {}".format(askName,askSize,askBeverage,askFlav, subtotal))看来你刚刚开始学习编程。Python 是一种很好的入门语言。请享受!
随时随地看视频慕课网APP

相关分类

Python
我要回答