2 回答
TA贡献1780条经验 获得超3个赞
如果所有条件都是严格的不等式(<或>),您可以这样做
pairs = [(a, b), (A, B), (Q, a), (a, w), (w, R), ...]
if all(x > y for (x, y) in pairs):
...
elif all(x < y for (x, y) in pairs):
...
all:如果可迭代对象的所有元素都为真(或可迭代对象为空),则返回 True
如果还有其他可能性,您需要稍微修改一下。
TA贡献1868条经验 获得超4个赞
您的布尔逻辑有缺陷。
(A and B and C) 的反义词是 (!A or !B or !C)——如果你否定条件,你需要切换操作符。
你的语法有缺陷。“ELSE”确实需要或允许条件;它只是“ELSE”这个词
“ELSE IF”是一种完全不同的动物;Python 中的那个关键字是 ELIF,你的条件应该是与 IF 中的条件截然相反的东西。
像这样的东西:
if a>b and A>B and R<w<a<Q:
... code will run when all conditions are true
elif a<b:
... code will run when first initial condition failed
else:
... code will run when A<B or !(R<w<a<Q)
2)条件R<w<a<Q在大多数计算机语言中是无效的,并且需要是一系列与单个不等式条件,即 (R<w && w<a && a<Q)
或者你可以一直筑巢
if a>b :
if A>B :
if R<w and w<a and a<Q :
# your "everything's true" code
else :
# your not R<a<w<Q code
else :
# your A<B code
else :
# your a>b code
警告:我是 C/C++/C# 程序员,Python 不是我的强项。
添加回答
举报