需要最简单的方法做这方面的指导。我有多个资产,每个资产都有多个数据点。我希望根据每个数据点的决策为每个资产分配一个值。例如,每个资产都是一栋房子,数据点包括窗户的数量、车库门、破损的栅栏等,每个房子都有一个得分。你知道吗
除了成百上千的if语句和分数的加减之外,还有什么推荐的编码方法吗?你知道吗
我计划如何做到这一点的例子
def score_house(house):
# score house
score = 0
if (house.windows > 2): score += 10
if (house.garage): score += 10
if (house.fence == 'broken'): score += 80
return score
我想你也可以在这里使用“责任链”模式:
使用此模式的好处在于,您可以在单独的模块中定义和扩展不同的记分器,并在运行时根据问题条件动态组合它们。你可以这样做。首先,定义父记分器类:
然后,定义各种记分器类,例如:
这就是它的用途:
我认为你的方法很好,不值得费心去做别的事。您可能希望通过定义如下函数来组织它:
像这样的
dictionary
:所以你可以这样调用你的函数:
并且可以很容易地从一个
dictionary
改变得分。你知道吗您还可以(现在想想,可能应该)使用
Enums
:相关问题 更多 >
编程相关推荐