【发布时间】:2010-11-15 00:06:18
【问题描述】:
我正在重构一个函数,给定一系列隐式定义区间的端点,检查区间中是否包含一个数字,然后返回一个对应的(不以任何可计算的方式相关)。 现在处理这项工作的代码是:
if p <= 100:
return 0
elif p > 100 and p <= 300:
return 1
elif p > 300 and p <= 500:
return 2
elif p > 500 and p <= 800:
return 3
elif p > 800 and p <= 1000:
return 4
elif p > 1000:
return 5
这在 IMO 中非常可怕,并且缺少间隔和返回值都是硬编码的。 当然可以使用任何数据结构。
【问题讨论】: