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%

以上这篇python计算两个数的百分比方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python实现带百分比的进度条

    大家在安装程序或下载文件时,通常都能看到进度条,提示你当前任务的进度.其实,在python中实现这个功能很简单,下面是具体代码.在实际应用中,你完全可以根据自己的要求进行修改!比如,示例中是通过time.sleep()方法进行时间延迟,你完全可以根据实际的程序运行耗时进行控制:同样,在进度百分比处,你也可以显示实际的进度比,而不是例子中机械的自增百分比. import sys import time def view_bar(num, total): rate = num / total rat

  • python计算两个矩形框重合百分比的实例

    如下所示: def mat_inter(box1,box2): # 判断两个矩形是否相交 # box=(xA,yA,xB,yB) x01, y01, x02, y02 = box1 x11, y11, x12, y12 = box2 lx = abs((x01 + x02) / 2 - (x11 + x12) / 2) ly = abs((y01 + y02) / 2 - (y11 + y12) / 2) sax = abs(x01 - x02) sbx = abs(x11 - x12) say

  • Python实现输出程序执行进度百分比的方法

    本文实例讲述了Python实现输出程序执行进度百分比的方法.分享给大家供大家参考,具体如下: 对于一些大型的Python程序,我们需要在命令行输出其百分比,显得更加友好,以免被人误会程序陷入死循环.假死的窗体. 关键是利用到不换行的输出符\r,\r的输出,将直接覆盖掉此行的内容. 比如如下的程序,是一个i从0自加的十万的过程,即使对于现在高性能的CPU也是需要几秒的时间的,我们要输出其执行时候的百分比,可以在引入sys这个包之后,利用到sys.stdout.write输出,避免原生态的print

  • 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 c

  • Python计算两个日期相差天数的方法示例

    本文实例讲述了Python计算两个日期相差天数的方法.分享给大家供大家参考,具体如下: #!/usr/bin/python import time import sys def dateinput(): date = raw_input('please input the first date: ') return date def datetrans(tdate): spdate = tdate.replace("/","-") try: datesec = ti

  • python 通过可变参数计算n个数的乘积方法

    通过可变参数计算n个数的乘积: 代码如下: list = [] def the_input(count=eval(input("输入乘数的总个数:"))): for i in range(count): N=eval(input("依次输入乘数:")) list.append(N) print("一共有",count,"个要相乘的数") print("把这些乘放在列表里面:",list) the_input

  • python计算两个地址之间的距离方法

    我们调用高德地图的API来计算经纬度 #计算地址经纬度 import requests def geocode(address): parameters = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'} base = 'http://restapi.amap.com/v3/geocode/geo' response = requests.get(base, parameters) answer = response

  • python计算文本文件行数的方法

    本文实例讲述了python计算文本文件行数的方法.分享给大家供大家参考.具体实现方法如下: filename = "somefile.txt" myfile = open(filename) lines = len(myfile.readlines()) print "There are %d lines in %s" % (lines, filename) 希望本文所述对大家的Python程序设计有所帮助.

  • Python计算回文数的方法

    本文实例讲述了Python计算回文数的方法.分享给大家供大家参考.具体如下: 这里检查数字是不是回文数,用196算法生成一个数字的回文数 num = 905; def is_Palindrome(num): """ 判断一个数字是不是回文数,这里有些取巧了 :param num: :return: """ """ :param num: :return: """ temp = "

  • PHP简单计算两个时间差的方法示例

    本文实例讲述了PHP简单计算两个时间差的方法.分享给大家供大家参考,具体如下: <?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtoti

  • Python计算三维矢量幅度的方法

    本文实例讲述了Python计算三维矢量幅度的方法.分享给大家供大家参考.具体如下: from numpy import * from math import * a=(['x','y','z']) sum_com=0 for i in range(3): y=input("Enter %s component:"%a[i]) m=y**2 sum_com += m magnitude=sqrt(sum_com) print "The magnitude of vector i

  • python计算对角线有理函数插值的方法

    本文实例讲述了python计算对角线有理函数插值的方法.分享给大家供大家参考.具体实现方法如下: ''' p = rational(xData,yData,x) Evaluates the diagonal rational function interpolant p(x) that passes through he data points ''' from numpy import zeros def rational(xData,yData,x): m = len(xData) r =

随机推荐