首页 > 解决方案 > 检查数字是否在特定范围内的更好方法,如果没有,则对每个应用一个函数?

问题描述

g1 和 g2 都是随机整数。

我在两者上调用 getValue() 方法,将它们乘以另一个整数。

我正在尝试检查 getvalue(g1) 和 getValue(g2) 的结果是否大于 20。

如果它们都等于 0,并且小于 20,我将另一个函数应用于它们中的每一个。

有没有人有更简洁的方法来做到这一点?


 def fitness(self):
      g1, g2 = self.select()

      if self.getValue(g1) > 20:
        g1 = 0 
      else:
        g1 = self.getBenifit(g1)

      if self.getValue(g2) > 20:
        g2 = 0 
      else:
        g2 = self.getBenifit(g2)

      return g1, g2

标签: pythonfunctionif-statement

解决方案


您可以像这样缩短if语句:

    g1 = 0 if self.getValue(g1) > 20 else self.getBenifit(g1)
    g2 = 0 if self.getValue(g2) > 20 else self.getBenifit(g2)

推荐阅读