【问题标题】:How to make Python calculate result of percentage?如何让Python计算百分比结果?
【发布时间】:2021-08-30 10:27:12
【问题描述】:

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

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

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

drink = 8 + 20%

【问题讨论】:

    标签: python calculator percentage


    【解决方案1】:

    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
    

    可能性无穷无尽。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        totalCost = cost + (percentage/100)*cost
        

        【讨论】:

          【解决方案4】:

          Python 确实支持百分比的表达式,这要归功于 str format()。如果您愿意,您甚至可以在单元测试中模仿这种行为。

          示例代码:

          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 :)

          【讨论】:

            猜你喜欢
            • 2021-03-18
            • 1970-01-01
            • 2017-04-17
            • 1970-01-01
            • 2021-12-19
            • 1970-01-01
            • 1970-01-01
            • 2016-01-06
            • 2021-04-12
            相关资源
            最近更新 更多