首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中有没有计算百分比的运算符?

在Python中有没有计算百分比的运算符?
EN

Stack Overflow用户
提问于 2011-05-14 05:30:57
回答 3查看 285K关注 0票数 62

我最近了解到,在Python中,“%”符号用于计算整数的余数。但是,我无法确定在Python中是否有其他运算符或方法可以计算百分比。

就像“/”一样,它会给出商,如果你只对其中一个整数使用浮点数,它实际上会像传统除法一样给你答案。那么有没有一种计算百分比的方法呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-14 05:32:18

Python中没有这样的运算符,但是自己实现它很简单。在计算实践中,百分比远不如模数有用,所以我想不出有哪种语言能实现它。

票数 42
EN

Stack Overflow用户

发布于 2011-05-14 05:33:23

你可以将你的两个数字相除,然后乘以100。注意,如果“as”是0,这将抛出一个错误,因为询问一个数字占0的百分比是多少是没有意义的:

def percentage(part, whole):
  return 100 * float(part)/float(whole)

或在末尾加上%:

 def percentage(part, whole):
  Percentage = 100 * float(part)/float(whole)
  return str(Percentage) + “%”

或者,如果你想让它回答的问题是“20的5%是什么”,而不是“20的5%是多少”(受Carl Smith's answer启发的问题的不同解释),你可以写道:

def percentage(percent, whole):
  return (percent * whole) / 100.0
票数 165
EN

Stack Overflow用户

发布于 2017-09-21 15:39:54

使用%

def percent(expression="1000*12%") -> float:
    if "%" in expression:
        expression = expression.replace("%","")
        a, b = expression.split("*")
        a, b = float(a), float(b)
    return a*b/100

>>> percent("1500*20%")
300.0

另一种方式

p = lambda x : x/100
p20 = p(20)

>>> 150*p20
30.0
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5997987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档