我是一个物流企业里的一个财务修白,我每天都需要计算第三方代派公司的派费,然后进行付款事宜。一个公司还是可以去用函数在excel里去做但是一百多代派公司,每一个代派公司都要根据每个快递的重量去做计算。我想知道如何优化我目前的工作,像下图一样这是其中一个计算规则有一百多,公司一百多个不同规则,
写个程序,配置一个规则,然后按照规则计算表里的数据,这样以后修改规则只用修改配置表。计算有软件完成,这样一劳永逸。
其实不是太难,比如从给出的例子可以看出,所有的区域(快递公司)都是阶段计费,唯一的区别有二:
所以仅针对给出的例子,我们可以设计一个自定义函数,用来接收不定量的参数(阶段)和一个超出重量的计费标准标记(flag),下面是给出的例子
def fun(weight, *arg, flag=False):
fee = 0
for i in range(len(arg)):
w = arg[i][0]
if w<9999:
if weight <= w:
return arg[i][1]
else:
if flag:
w = weight-arg[i-1][0]
p = arg[i-1][1]
return p+w*arg[i][1]
else:
return arg[i][1]
# 区域一 & 区域二
a = (5,4)
b = (15,5.5)
c = (9999,6.5)
fee = fun(50,a,b,c)
print(fee)
# 区域三 & 区域四
a = (2,6.3)
b = (3,6.5)
c = (5,6.8)
d = (9999,0.5)
fee = fun(50,a,b,c,d,flag=True)
print(fee)