为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标5832272 2021-06-25 18:51:09
我有一个学校作业,它要求一些用户输入,以确定用户是否想要牛奶、果汁、它的大小。例如,牛奶成本 4.00 美元,升级到大容量成本 0.40 美元。最后,输出应为 ex。大牛奶,成本:4.55 美元我的问题是,如何为每个相应的字符串输入分配一个值?在以下代码的末尾,成本只是针对字符串的总和吐出,而不是实际将每个成本相加并吐出总数。我似乎无法弄清楚我应该在这里做什么。
查看完整描述

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 代码以使其更好。


查看完整回答
反对 回复 2021-06-29
?
蓝山帝景

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 是一种很好的入门语言。请享受!


查看完整回答
反对 回复 2021-06-29
  • 3 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信