【发布时间】:2021-06-18 15:14:52
【问题描述】:
我想用更 Python 的东西(最好是设计模式)替换多个 if/elif 语句:
def calculate_coords(self, num_of_chars):
if num_of_chars < 20:
return int(num_of_chars * 6.8 )
elif num_of_chars < 30:
return int(num_of_chars * 6.7 )
elif num_of_chars < 40:
return int(num_of_chars * 6.25 )
elif num_of_chars < 50:
return int(num_of_chars * 6.35 )
elif num_of_chars < 60:
return int(num_of_chars * 6.2 )
elif num_of_chars < 70:
return int(num_of_chars * 6.15 )
elif num_of_chars < 80:
return int(num_of_chars * 6.2 )
elif num_of_chars < 90:
return int(num_of_chars * 6.05 )
elif num_of_chars < 100:
return int(num_of_chars * 6.05 )
elif num_of_chars < 110:
return int(num_of_chars * 6)
elif num_of_chars < 120:
return int(num_of_chars * 5.9 )
elif num_of_chars < 130:
return int(num_of_chars * 5.85 )
else:
return int(num_of_chars * 5.85 )
【问题讨论】:
标签: python design-patterns refactoring