Python 多if条件
你能给我解释一下为什么这个代码:Python 多if条件,python,if-statement,Python,If Statement,你能给我解释一下为什么这个代码: if (x and y) and z > 0: return True 不等于: if (x and y) > 0 < z: return True if y > 0 and 0 < z 我做错了什么 --编辑-- 我想我只是想知道如何在不写下的情况下缩短条件: if var1 > 0 and var2 > 0 and var3 > 0 特别是如果条件很长,如: if var1 > (
if (x and y) and z > 0:
return True
不等于:
if (x and y) > 0 < z:
return True
if y > 0 and 0 < z
我做错了什么
--编辑--
我想我只是想知道如何在不写下的情况下缩短条件:
if var1 > 0 and var2 > 0 and var3 > 0
特别是如果条件很长,如:
if var1 > (pow(x, 3) / 2.5*pow(y,0.5)+x*y)
如果重写每个变量的条件是不可行的,想象一下如果我有10个变量。
或者有没有更好的方法,我看不到,可以在这种情况下使用?谢谢你的回答 这不是你想象的那样:
if (x and y) > 0 < z: return True
这与:
if (x and y) > 0 < z:
return True
if y > 0 and 0 < z
一句话:(x和y)>0
绝对不是你想象的那样!你想说的话必须这样写:
if x > 0 and y > 0 and z > 0: return True
这不是你想象的那样:
if (x and y) > 0 < z: return True
这与:
if (x and y) > 0 < z:
return True
if y > 0 and 0 < z
一句话:(x和y)>0
绝对不是你想象的那样!你想说的话必须这样写:
if x > 0 and y > 0 and z > 0: return True
谢谢你的解释!有没有办法缩短这个表达式?不重写x>0和y>0和z>0?因此,它会检查列出的每个变量是否都大于0?@metacore一次比较多个值没有通用的解决方案。特别是在这种情况下,我的答案最后一行中的表达是表达条件的最简单方式谢谢你的解释!有没有办法缩短这个表达式?不重写x>0和y>0和z>0?因此,它会检查列出的每个变量是否都大于0?@metacore一次比较多个值没有通用的解决方案。特别是在这种情况下,我的答案最后一行中的表达式是表示条件的最简单方式