-1
x = float(input("What is/was the cost of the meal?"))
y = float(input("What is/was the sales tax?"))
z = float(input("What percentage tip would you like to leave?"))

print ("Original Food Charge: ${}"
.format(x*1)))
print ("Sales Tax: ${}"
.format((y/100)*x)))
print ("Tip: ${}"
.format(x*(z/100)))
print ("Total Charge For Food: ${}"
.format(x+((y/100)*x)+((z/100)*x)))

error output:

第 10 行,语法错误:.format(x*1))):,第 1017 行

有人告诉我这在 2.6 中有效,但在 3.2.3 中仍然无效

我正在尝试编写一个程序来计算在餐厅购买的一顿饭的总金额。程序应该要求用户输入食品的收费和销售税的百分比。然后程序应该询问用户他们想要留下多少百分比的小费(例如:18%)。最后,程序应显示食品的总费用、食品总费用的销售税(食品总费用 * 销售税率)、膳食小费(食品总费用 * 小费百分比),最后是总费用餐费(食品费+销售税+小费)。

4

3 回答 3

2

我认为您可能希望在这些输入语句中使用字符串:

x = float(input("What is/was the cost of the meal?"))

此外,在格式字符串中使用(而不是)可能是一个好主意,至少如果您想与 2.7 之前的 Python 保持兼容(尽管在这种情况下,我可能也会使用)。即使2.7 之后,我仍然更喜欢位置说明符,因为它让我更清楚。{0}{}raw_input

这段代码对我来说很好:

x = float(input("What is/was the cost of the meal?"))
y = float(input("What is/was the sales tax?"))
z = float(input("What percentage tip would you like to leave?"))

print ("Original Food Charge: ${0}".format(x))
print ("Sales Tax: ${0}".format(y*x))
print ("Tip: ${0}".format(x*z))
print ("Total Charge For Food: ${0}".format(x+(y*x)+(z*x)))

例如:

What is/was the cost of the meal?50
What is/was the sales tax?.05
What percentage tip would you like to leave?.1
Original Food Charge: $50.0
Sales Tax: $2.5
Tip: $5.0
Total Charge For Food: $57.5

尽管您可能想明确表示“百分比”应该采用小数格式,以免输入 20 作为小费会使服务员/女服务员非常高兴。

或者,您可以除以y100z将它们从百分比转换为分数。

于 2012-09-24T04:08:40.160 回答
1
input(What is/was the cost of the meal?)

不好。input()想要一个字符串作为参数。

input('What is/was the cost of the meal?')

这将发生在所有这三个方面。python 应该告诉你这些符号没有定义。

于 2012-09-24T04:08:10.800 回答
1

您需要在字符串周围加上引号,例如,x = float(input("What is/was the cost of the meal?")) 您还需要阅读Python 教程来学习 Python 的基础知识。

于 2012-09-24T04:08:18.847 回答