subtotal = 0
askName = str(input("What is your name?")).title()
askBeverage = str(input("What type of beverage would you like?")).title()
if askBeverage.lower() in ("t", "tea"): #ensures any variation of upper/lowercase will work
subtotal += 1.50
askSize = str(input("Would you like a small, medium, or large Tea?")).title() # SIZE
if askSize.lower() in ("small", "s"):
subtotal += 0
elif askSize.lower() in ('medium', 'm'):
subtotal += .75
elif askSize.lower() in ('large', 'l'):
subtotal += 1.75
else:
print("Invalid size specified.")
sys.exit()
askFlav =str(input("Any flavourings for your Tea? Your options are mint, lemon, or none")).title() # FLAVOURING
if askFlav.lower() in ("m", "mint"):
subtotal += .50
elif askFlav.lower() in ("l", "lemon"):
subtotal += .25
elif askFlav.lower() in ('none', 'n'):
subtotal += 0
else:
print("Invalid flavour specified.")
sys.exit()
在计算成本的最后一行:
您不必对在文件顶部定义的变量求和(带成本),而是将用户键入的字符串串联起来。例如,
^{pr2}$askSize
可以是字符串“small”。所以,你在这里所做的可以写成:在Python中,在字符串之间使用
+
将连接它们。这意味着它将一个接一个地添加字符串以使其更大。示例:"foo" + "bar" = "foobar"
。在如果您想参考每个选项的成本,一种解决方案(但还有其他解决方案)是使用字典存储成本,而不是像您那样使用几个变量:
然后,要获得与字符串对应的数字,可以从字典中获取项目:
现在,很容易得到您的总成本:
当然,注意字符串的大小写,在我的例子中,所有的东西都必须是小写的。在
希望有帮助!在
注意:您可以对其余代码进行许多改进,请不要犹豫,在互联网上阅读一些Python代码以获得更好的效果。在
您需要一个从未声明的
subtotal
变量,然后在每次选择要+=
的选项后,将其递增:你的askSize,askBeverage,askFlav都是字符串,所以你不能在不转化为数字的情况下添加它们。最直截了当的解决方案是将它们转换成float。
subtotal=float(askSize) + float(askBeverage) + float(askFlav) print("For {}, a {} {}, with {:.2f} flavoring, cost: {}".format(askName,askSize,askBeverage,askFlav, subtotal))
你好像刚开始学编程。Python是一种很好的语言。请尽情享受!在相关问题 更多 >
编程相关推荐