python - 检查数字是否在特定范围内的更好方法,如果没有,则对每个应用一个函数?
问题描述
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
解决方案
您可以像这样缩短if
语句:
g1 = 0 if self.getValue(g1) > 20 else self.getBenifit(g1)
g2 = 0 if self.getValue(g2) > 20 else self.getBenifit(g2)
推荐阅读
- c++ - 为什么 push_back 会给出分段错误?
- c - 在 C 中返回 2 是什么意思?以及关于 bool 和 void 的其他问题。CS50 Pset 3 复数
- r - 从光栅中提取每个 RGB 图层并粘贴到 R 中的矩阵中
- html - 使用 Boilerplate 和 Electron-React 执行 Yarn Run 时出现渲染错误
- python - 为什么 Azure DevOps 服务器交错输出
- html - 使用 flexbox,如何覆盖图像并展开以填充父容器
- flutter - 如何在扩展的 Flutter 列表中指定元素的宽度?
- spring-boot - Docker 多阶段构建未运行所有阶段
- php - 如何在 FPDF 上添加自定义纸张尺寸?
- go - 在 Goroutine 中更新值