python计算两个数的百分比方法

yipeiwu_com6年前Python基础

工作中遇到了要计算两个数百分比的问题,python 2.7 环境。

代码:

#!/usr/bin/env python
#function: 计算百分比
#USAGE: python calculator.py num1 num2
import sys
a=sys.argv[1]
a=float(a)
b=sys.argv[2]
b=float(b)
print "%.2f%%" % (a/b*100)

示例:

root@ops-docker-1:/tmp/data# python calculator.py 3 11
27.27%

下面是我工作中的应用

需求:要计算一堆数的百分比 并记录在文件中

原始文件
-------
root@ops-docker-1:/tmp/data# head -n 7 a.txt
北京 总计:2488         北京 总计:78353       
    电信   301         电信   6515
    移动   70         移动   2349
    联通   1500        联通   36736
    铁通   60         铁通   1671
    教育网   12         教育网   234
    鹏博士   9         鹏博士   51

shell脚本
---------
root@ops-docker-1:/tmp/data# cat ratio.sh 
#!/bin/bash
#USAGE: sh ratio.sh src-file dst-file
>$2
i=1
for n in $(grep -E -o "([0-9]*)" $1)
do
 if [ $(($i%2)) -ne 0 ];then
  echo $n >A
 else
  echo $n >B
  A=$(cat A)
  B=$(cat B)
  echo $A "\t" $B "\t" $(python calculator.py $A $B)>>$2
 fi
 i=$(($i+1))
done
rm -rf A B

使用
----
root@ops-docker-1:/tmp/data# sh ratio.sh a.txt b.txt
root@ops-docker-1:/tmp/data# head -n 7 b.txt 
2488   78353  3.18%
301   6515  4.62%
70    2349  2.98%
1500   36736  4.08%
60    1671  3.59%
12    234   5.13%
9    51   17.65%

合并两个文件格式化处理后显示
root@ops-docker-1:/tmp/data# head -n 7 ab.txt
--------------
北京 总计:2488         北京 总计:78353         2488  78353   3.18%
    电信   301         电信   6515      301  6515   4.62%
    移动   70         移动   2349      70   2349   2.98%
    联通   1500        联通   36736     1500  36736   4.08%
    铁通   60         铁通   1671      60   1671   3.59%
    教育网   12         教育网   234      12   234    5.13%
    鹏博士   9         鹏博士   51      9   51    17.65%

以上这篇python计算两个数的百分比方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3列表内置方法大全及示例代码小结

Python3列表内置方法大全及示例代码小结

Python中的列表是简直可说是有容乃大,虽然看似类似C中的数组,但是Python列表可以接受任意的对象元素,比如,字符串,数字,布尔值,甚至列表,字典等等,自由度提升到一个新的高度,而...

Python 正则表达式(转义问题)

先说一个比较囧的事情:在写虾米音乐试听下载器的时候遇到一个问题,因为保存的文件都是用音乐的标题命名的,所以碰到一些诸如「対峙/out border」等含有非法字符(哼哼,说的就是你 →_...

python3.x提取中文的正则表达式示例代码

实例一: 读取txt文件中含有中文的字符 import re ##此处使用的编辑器是python3.x d="[\u4e00-\u9fa5]+" #中文匹配的符号 f=open('...

对python过滤器和lambda函数的用法详解

1. 过滤器 Python 具有通过列表解析 将列表映射到其它列表的强大能力。这种能力同过滤机制结合使用,使列表中的有些元素被映射的同时跳过另外一些元素。 过滤列表语法: [ mappi...

python打包压缩、读取指定目录下的指定类型文件

下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import...