簡體   English   中英

如何讓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 確實支持百分比的表達 如果你願意,你甚至可以在單元測試中模仿這種行為。

示例代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM