Pythonが正しく、このコードを評価しない理由だから、私は理解していない:Pythonやオペレータ
def makes10(a, b):
if (a or b == 10) or (a + b == 10):
return True
else:
return False
予想通り、次が解釈されている間:
def makes10(a, b):
if a == 10 or b == 10 or (a + b == 10):
return True
else:
return False
彼らは私には同じように見えます、明らかに(aまたはb == 10)は(a == 10)または(b == 10)として解釈されませんでした。誰かがなぜこれが起こるか説明してもらえますか?
それは優先順位から来るでしょう。 ==演算子は、演算子よりも優先されます。だから、あなたは評価がaか(b == 10)か(a + b == 10) –