工作中遇到了要计算两个数百分比的问题,python 2.7 环境。
代码:
1
2
3
4
5
6
7
8
9
|
#!/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 )
|
示例:
1
2
|
root@ops - docker - 1 : / tmp / data # python calculator.py 3 11
27.27 %
|
下面是我工作中的应用
需求:要计算一堆数的百分比 并记录在文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
原始文件
- - - - - - -
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计算两个数的百分比方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/Hehailiang_Dream/article/details/54944392