2 回答

TA貢獻1780條經(jīng)驗 獲得超4個贊
如果所有條件都是嚴格的不等式(<或>),您可以這樣做
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條經(jīng)驗 獲得超4個贊
您的布爾邏輯有缺陷。
(A and B and C) 的反義詞是 (!A or !B or !C)——如果你否定條件,你需要切換操作符。
你的語法有缺陷?!癊LSE”確實需要或允許條件;它只是“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在大多數(shù)計算機語言中是無效的,并且需要是一系列與單個不等式條件,即 (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 不是我的強項。
添加回答
舉報