工作中遇到了要计算两个数百分比的问题,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计算两个数的百分比方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。