我正在使用python 2.75而且我的工作是打印出我咖啡馆的收据,但我不知道如何将我的价格打印到2位小数,因为它只打印到1位小数地方。我是python的新手,所以如果有人帮忙的话,我们将非常感激!
def main():
print("Welcome to Kenny's Drinking Cafe")
print("Here is the electronic menu: ")
print("Please select by typing the selections from the list below. *CaSe InSeNsItIvE*")
print("Spelling counts though ;)")
print "-------------------------------------------------------------------------------"
print("Coffee $2.00")
print("Hot Chocolate $1.50")
print("Latte $3.00")
print("Frappuccino $3.00")
print("Smoothie $3.50")
countcoffee = 0
counthotc = 0
countlatte = 0
countfrap = 0
countsmoothie = 0
coffeec = 2.00
hotcc = 1.50
lattec = 3.00
frapc = 3.00
smoothiec = 3.50
order1 = raw_input("Please enter your selection: Press Enter to Print receipt ")
while order1 != "":
order1 = order1.lower()
if order1 == str("coffee"):
countcoffee = countcoffee + 1
order1 = raw_input("Do you want to order more? Select: Coffee, Hot Chocolate, Latte, Frappuccino, Smoothies. Press Enter to Print receipt ")
elif order1 in [str("hot chocolate"), str("hotchocolate")]:
counthotc = counthotc + 1
order1 = raw_input("Do you want to order more? Select: Coffee, Hot Chocolate, Latte, Frappuccino, Smoothies. Press Enter to Print receipt ")
elif order1 == str("latte"):
countlatte = countlatte + 1
order1 = raw_input("Do you want to order more? Select: Coffee, Hot Chocolate, Latte, Frappuccino, Smoothies. Press Enter to Print receipt ")
elif order1 == str("frappuccino"):
countfrap = countfrap + 1
order1 = raw_input("Do you want to order more? Select: Coffee, Hot Chocolate, Latte, Frappuccino, Smoothies. Press Enter to Print receipt ")
elif order1 == str("smoothie"):
countsmoothie = countsmoothie + 1
order1 = raw_input("Do you want to order more? Select: Coffee, Hot Chocolate, Latte, Frappuccino, Smoothies. Press Enter to Print receipt ")
else:
print "Please type correctly"
exit()
coffee = (countcoffee*coffeec)
hotchocolate = (counthotc*hotcc)
latte = (countlatte*lattec)
frappuccino = (countfrap*frapc)
smoothie = (countsmoothie*smoothiec)
sum = (countcoffee*coffeec) + (counthotc*hotcc) + (countlatte*lattec) + (countfrap*frapc) + (countsmoothie*smoothiec)
print ""
print "Kenny's Drinking Cafe Receipt"
print ""
print "***********************"
print "** Regular Items **"
print "***********************"
if coffee > 0:
print (str(countcoffee) + ' coffee ' + "@ $" + str(coffee))
if hotchocolate > 0:
print counthotc,"hot chocolate","@ $",hotchocolate
if latte > 0:
print countlatte,"latte", "@ $",latte
if frappuccino > 0:
print countfrap,"frappuccino","@ $",frappuccino
if smoothie > 0:
print countsmoothie,"smoothie","@ $",smoothie
print ("BALANCE: $" + str(sum))
main()
答案 0 :(得分:4)
这应该有帮助
print("BALANCE: $%.2f" % sum)
%
运算符替换字符串中提供的参数。而且,.2f
指定了所需的格式。
您可以在the docs中找到有关字符串格式的更多信息。
更多 Pythonic 这样做的方法是使用@sortfiend
指定的str.format()
print("BALANCE: {:.2f}".format(sum))
答案 1 :(得分:2)
您可以使用printf样式格式输出浮点数:
>>> "%.2f" % 1
'1.00'
>>> "%.2f" % 1.0
'1.00'
>>> "%.2f" % 1.03
'1.03'
>>> "%.2f" % 1.034
'1.03'
您可以使用相同的表达式分配给变量:
>>> str = "%.2f" % 1.035
>>> str
'1.03'