if ((medicine == target) and (engineering == target)) or ((medicine == target) and (education == target)) or ((medicine == target) and (arts == target)):
target += 1
我正在代碼中,如果這些condtions得到滿足,目標應該增加,但它是不是在它應該是。任何想法爲什麼?我的和/或python有什麼問題?
if ((medicine == target) and (engineering == target)) or ((medicine == target) and (education == target)) or ((medicine == target) and (arts == target)):
target += 1
我正在代碼中,如果這些condtions得到滿足,目標應該增加,但它是不是在它應該是。任何想法爲什麼?我的和/或python有什麼問題?
據我所知,在==前被選中和,所以你需要檢查A == B和A ==ç
這完全不清楚。什麼是A,B和C?你認爲他們可能會認爲'和'在'=='之前得到評估嗎? –
OP原本在他的源代碼3個變量,所以我稱他們爲A,B和C ... –
當鏈接不同的邏輯運算符,它有助於加上括號,因爲這使得它在明確哪些訂單你indend。
if ((engineering == target) and (education == target)) or ((engineering == target) and (arts == target)):
target += 1
根據你如何安排括號,它會導致不同的結果。
這只是一個例子,爲了知道你需要首先明確的邏輯是什麼正確的順序。
很好的建議。但是,在這種情況下,Python的優先規則已經規定OP代碼上的操作將按照與完全加括號版本相同的順序執行。所以這不會改變他們得到的結果。 –
@ PM2Ring是的,我已經更新它指出它的一個例子。不幸的是,我們都不能猜測OPs邏輯是什麼。 – jambrothers
加上括號(和正確的縮進),以表明你希望他們可以完成什麼樣的順序。 – jambrothers
你可以用樣本輸入和相應的預期輸出顯示格式正確的代碼嗎? – thefourtheye
@jambrothers我應該加什麼括號? – mdot