减少函数中的if- if-else代码



我正在使用python编写代码。我使用if- if-else条件。代码看起来不太好。还有其他方法来写代码吗?

def my_fun(x):
if x<=200:
x=0.2
elif 201<=x<=300:
x=0.3
elif 301<=x<=400:
x=0.4
elif 401<=x<=500:
x=0.5  
elif 501<=x<=600:
x=0.6
elif 601<=x<=700:
x=0.7
elif 701<=x<=800:
x=0.8
elif 801<=x<=900:
x=0.9
elif 900<=x<=1000:
x=1
else:
x=1.5 
return x
courier_invoice['x_weight_slab'] = courier_invoice['weight by company'].apply(my_fun)

还有其他方法来写这个函数吗?

尝试这个函数,它将计算值并返回四舍五入到小数点后1位

def func(x):
if x <= 200:
return .2;
elif x <= 1000:
return round(((x+99) // 100) * 0.1, 1);
return 1.5;

试试这个

import math
def my_fun(x):
x = -x
if x >= -200:
return 0.2
elif x >= -1000:
return -math.floor(x/100)/10
return 1.5

最新更新