[英]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.2
或81.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.