如何让Python计算百分比的结果?

How to make Python calculate result of percentage?

我希望Python能够计算百分比的结果。

例如:如果一杯饮料的价格为 8,计算加上 20% 的额外小费(或任何给定百分比)的费用。

那当然是9.6了。我想我可以用这样的代码来做到这一点:

drink = 8 + 20%

Python 不支持用 % 符号表示百分比。然而,它可以成倍增加。

将值增加 20% 意味着将其乘以 1.2。

drink = 8 * 1.2

如果你想给出百分比并导出因数,你可以写一个函数:

def add_tips(value, percentage):
    return value * (1 + percentage / 100)
>>> drink = 8
>>> add_tips(drink, 20)
9.6

无限可能。

您始终可以将百分比转换为浮点值,例如 20% = 0.281.7% = 0.817。因此,只需除以 100 即可将百分比转换为浮点数。在你的情况下,你想将一个数字的 20% 添加到这个数字,也就是你想要这个数字的 120%,这等于乘以 1.2。您还可以通过计算 8 + (8 * 0.2) 来验证这一点,这可能更直观。

给定原始成本和百分比,您可以这样做以获得总金额。

totalCost = cost + (percentage/100)*cost
由于 str format()

Python 确实支持百分比的 expression。如果愿意,您甚至可以在单元测试中模仿该行为。

示例代码:

def divideby4(x):
    return "{0:.0%}".format(x/4)

示例测试:

import unittest
import some_silly_calc

class TestCalc(unittest.TestCase):
... 

    def test_divide(self):
        result = some_silly_calc.divideby4(2)
        self.assertEqual(result, "{0:.0%}".format(.50))

如果您不想使用“%”的替代方法:

def divideby4(x):
    return (x / 4 * 100)

我喜欢 Python 3+ 自 Python 2.7 以来的发展。这么多很酷的功能! HTH:)