如何解决Python:动态更改逻辑运算符
我已经开始深入研究 Python,目前有一个代码片段,在处理作业时如下所示:
if conditionA:
if x > y:
// perform action
elif conditionB:
if x >= y:
// perform same action
else:
pass
换句话说,取决于 conditionA
或 conditionB
是否为真(它们不能都为真,但它们都可以为假)我想检查在任何一个中都非常相似的嵌套条件除了逻辑运算符在“>”或“>=”之间变化的情况。我想学习一种简化此操作的方法,而不必在不为其创建函数的情况下两次包含相同的“操作”代码。我的直觉告诉我,我正在寻找一种方法来将逻辑运算符 ">" 更改为 ">="(反之亦然),具体取决于 A 或 B 是否为真,但我无法在网上找到有关此功能的任何信息。如果无法简化这一点,那么我可以诉诸于维护我拥有的东西,并简单地将“操作”代码变成一个函数(如果这被认为是最佳实践)。
谢谢!
解决方法
为什么不合并条件?像这样:
if (conditionA and x > y) or (conditionB and x >= y):
# perform your action
,
您可以将“相同操作”包装在一个函数中,并合并条件而不是嵌套它们,例如:
def action():
# perform your action
...
if condition_a and x > y:
action()
elif condition_b and x >= y:
action()
您也可以将两个条件合并为一个
if (
(condition_a and x > y) or
(condition_b and x >= y)
):
# perform your action
我从您提供的信息中看到的不多。如果这会影响可读性,请不要试图“简化”太多。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。