我是蟒蛇新手,我的课程只有一两个星期。这是我写的:
#prompt user for input
purchaseAmount = eval(input("please enter Purchase Amount: "))
# compute sales tax
salesTax = purchaseAmount * 0.06
# display sales tax to two decimal points
print("sales tax is", int(salesTax * 100 / 100.0))
这就是它的回报:
请输入购买金额:197.55 销售税是11
我的文字建议我应该得到答案11.85。
在我的回答中,我应该更改以获得2位小数?
答案 0 :(得分:1)
您应该使用string formatting mini-language。
>>> salesTax = 22.2
>>> print("sales tax is %0.2f" % salesTax)
sales tax is 22.20
或者使用较新的格式方法
>>> salesTax = 22.256
>>> print("sales tax is {:.2f}".format(salesTax))
sales tax is 22.26
答案 1 :(得分:0)
使用float代替:
print("sales tax is", round(float(salesTax * 100 / 100.0),2))
这会将值打印到2
小数位,为11.85
答案 2 :(得分:0)
你正在接受整个事情的int
,这将永远是一个整数。您需要先取int
和然后将int
的结果除以100.所以不要这样:
int(salesTax * 100 / 100.0)
这样做:
int(salesTax * 100) / 100.0
答案 3 :(得分:0)
这是一个小小的修正。您可以使用float来获得小数点的确切答案。你将失去int的精确度。
purchaseAmount = eval(input("please enter Purchase Amount: "))
salesTax = purchaseAmount * 0.06
# get salesTax in floating point number
salesTax = float(salesTax * 100 / 100.0)
print salesTax
-> 11.853