如何在python中将输入数字转换为百分比

时间:2015-01-25 23:11:25

标签: python python-3.x

print ("How much does your meal cost")

meal = 0
tip = 0
tax = 0.0675

action = input( "Type amount of meal ")

if action.isdigit():
    meal = (action)
    print (meal)

tips = input(" type the perentage of tip you want to give ")


if tips.isdigit():
    tip = tips 
    print(tip)

我写过这篇文章,但我不知道如何获得

print(tip)

是某人在中键入数字时的百分比。

4 个答案:

答案 0 :(得分:16)

>>> "{:.1%}".format(0.88)
'88.0%'

答案 1 :(得分:2)

根据您对input()而非raw_input()的使用情况,我假设您使用的是python3

您只需将用户输入转换为浮点数,然后除以100.

print ("How much does your meal cost")

meal = 0
tip = 0
tax = 0.0675

action = input( "Type amount of meal ")

if action.isdigit():
    meal = float(action)

tips = input(" type the perentage of tip you want to give ")

if tips.isdigit():
    tip = float(tips)  / 100 * meal
    print(tip)

答案 2 :(得分:1)

将是

print "Tip = %.2f%%" % (100*float(tip)/meal)

结束%%打印百分号。数字(100*float(tip)/meal)正是您所寻找的。

答案 3 :(得分:1)

我们假设它是用户输入的号码。我们希望确保该号码是该程序可以使用的有效百分比。我建议预测用户的百分比表达式。因此,用户可以输入.15515.5来代表15.5%。普通的if语句是一种可以看到它的方法。 (假设你已经转换为浮动)

if tip > 1:
    tip = tip / 100

或者,您可以使用称为三元表达式的方法来处理这种情况。在你的情况下,它看起来像这样:

tip = (tip / 100) if tip > 1 else tip

您可以查看another question here以了解有关三元语法的更多信息。