1. 程式人生 > >python計算兩個數的百分比

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%