python

超轻量级php框架startmvc

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

更新时间:2020-06-08 10:30:01 作者:startmvc
工作中遇到了要计算两个数百分比的问题,python2.7环境。代码:#!/usr/bin/envpython#function:计算

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