工作中遇到了要计算两个数百分比的问题,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计算两个数的百分比方法