Python: 计算百分比

  • 题目说明
  • 方法一:浮点数有效值
    • 代码
    • 示例一
    • 示例二
    • 示例三
    • 示例四
  • 方法二:取整取余
    • 代码
    • 示例一
    • 示例二
    • 示例三
  • 四舍五入
    • 整数
    • 浮点数
  • 应用
    • 浮点数有效位
    • 取整取余
      • 非“四舍五入”
      • “四舍五入”
    • 整数百分比
      • “四舍五入”
  • 笔记

题目说明

假设变量a,b,其中b不等于0。限定小数后有效位数为2,求a对于b的百分比。

方法一:浮点数有效值

代码

def format_percentage(a, b):p = 100 * a / bif p == 0.0:q = '0%'else:q = f'%.2f%%' % preturn q

示例一

print(format_percentage(31.1333, 100))
# Output is 31.13%

示例二

print(format_percentage(31, 100))
# Output is 31.00%

示例三

print(format_percentage(9.00135, 100))
# Output is 9.00%

示例四

print(format_percentage(0.00926, 100))
# Output is 0.00%

方法二:取整取余

代码

def format_percentage2(a, b):p = int(10000 * a / b)p1 = p // 100p2 = p % 100q = f'{p1}.{p2}%' if p2 != 0 else f'{p1}%'return q

示例一

print(format_percentage(49.0135, 100))
# Output is 49.01%

示例二

print(format_percentage(15, 100))
# Output is 15%

示例三

print(format_percentage(1.00135, 100))
# Output is 1%

四舍五入

在实际应用中,百分比通常包含精度限制。如果没有采取“四舍五入”的原则,计算出来的百分比很可能缺少部分数据,是不完整的,从而导致一定程度上的偏差。

整数

def round_int(a):return a // 10 if a % 10 < 5 else a // 10 + 1

浮点数

def round_float(a, b=2):c = round_int(a * 10**(b+1))return f'{int(c // 10**b)}.{int(c % 10**b)}'

应用

浮点数有效位

def format_percentage(a, b, c=2):p = 100 * a / bif p == 0.0:q = '0%'else:q = f'%.{c}f%%' % preturn q

取整取余

非“四舍五入”

def format_percentage2(a, b, c=2):if b == 0:return ''p = int(100 * 10 ** c * a / b)p1 = p // 10 ** cp2 = p % 10 ** cq = f'{p1}.{p2}%' if p2 != 0 else f'{p1}%'return q

“四舍五入”

def format_percentage3(a, b, c=2):if b == 0:return ''p = int(100 * 10 ** (c + 1) * a / b)p = round_int(p)p1 = p // 10 ** cp2 = p % 10 ** cq = f'{p1}.{p2}%' if p2 != 0 else f'{p1}%'return q

整数百分比

“四舍五入”

def format_percentage_int(a, b):if b == 0:return ''p = int(1000 * a / b)return f'{round_int(p)}%'

笔记

在强制要求输出中体现精度的情况下,选择方法一。顾及输出视觉感官上的体验,考虑方法二。两者形式上区别在于输出百分比小数点后面为0的情况。

Python: 计算百分比相关推荐

  1. python 计算时间重叠_python whilepython计算两个矩形框重合百分比的实例

    如下所示: 对<python计算两个矩形框重合百分比的实例>总结来说,为我们电脑技术很实用. def mat_inter(box1,box2): # 判断两个矩形是否相交 # box=(x ...

  2. python怎么计算百分比_python计算两个数的百分比方法

    工作中遇到了要计算两个数百分比的问题,python 2.7 环境. 代码: #!/usr/bin/env python #function: 计算百分比 #USAGE: python calculat ...

  3. python计算两个矩形的重叠_python计算两个矩形框重合百分比的实例

    python计算两个矩形框重合百分比的实例 如下所示: def mat_inter(box1,box2): # 判断两个矩形是否相交 # box=(xA,yA,xB,yB) x01, y01, x02 ...

  4. Python计算商品复购率

    1. Python计算产品复购率 需求: 给出数据商品购买数据,数据格式.csv,包含:购买月份.手机号,根据该数据计算产品的复购率. 复购率算法: 算法一:单位时间内(按每月):R = 复购人数/总 ...

  5. 「手把手教你」Python计算股票收益率、Alpha和Beta值

    本文作为金融量化分析的入门基础之一,手把手带领大家使用Python计算股票的收益率,重点展示如何利用Python对日收益率数据向月.年收益率转换,然后演示个股Alpha和Beta值的计算. #先引入后 ...

  6. 异动分析(四)利用Python计算指标贡献度

    异动分析(四)利用Python计算指标贡献度 小P:有些异动的原因是多方面的,我看网上说可以通过计算贡献度进行量化. 小H:是的,容我想想- 虽然不是必要的,但有时候异动的原因多个,通过计算每个原因的 ...

  7. 使用OpenCV和Python计算图像的“彩色度”

    使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...

  8. Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例

    Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录

  9. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集

    Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录

  10. Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日?

    Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日? 目录

最新文章

  1. mysql和Oracle 备份表
  2. MySQL数据库az排序_RDS Mysql Single-AZ和Multi-AZ性能差异
  3. Teams Meeting App的 task 弹出框
  4. 《敏捷软件开发》读书笔记 (3)--敏捷语录
  5. 1400协议是什么和28181区别_公安三所标准 跟GB28181标准 有什么 区别?
  6. linux命令 bind,Linux bind命令
  7. PTA—比较大小(C语言)
  8. 用python画大白圣诞快乐呦
  9. ubuntu 20.04 安装可编辑截图工具 flameshot
  10. jquery UI 框架
  11. 极光推送源码api封装改造
  12. 移动页面常用media尺寸
  13. 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV 标签: SFM3D重建 2015-01-15
  14. C语言新手入门练习之三子棋
  15. Unity3D发布微信小程序
  16. Excel将两个图片合并为一张
  17. 一个我记了十几年的BUG
  18. C++核心准则边译边学-不必惊慌!
  19. vue学习笔记(一) ---- vue指令(过滤器)
  20. URL中特殊字符的转义

热门文章

  1. FieldTrip toolbox教程系列(1)-预处理-读取连续的EEG和MEG数据
  2. 蓝桥 字符串跳步 JAVA
  3. 使用iperf3网络速度测试工具测试Windows和Ubuntu两台机器的网口速率
  4. python帮室友避险——爬虫加可视化
  5. 使用tornado如何实现请求异步非阻塞?
  6. java Short详解
  7. 用计算机说我爱你怎么能,让电脑替你说我爱你 520科技宅花式告白技巧 (全文)...
  8. 卓有成效的管理者—第一章 卓有成效是可以学会的
  9. 网站死链接检测查询工具
  10. Google Admob 广告快速集成(并集成Firebase统计)