-1

def has_precedence (op1、op2):

opr = ["+", "-", "*", "/", "^"]
if op1 == opr[4]:
    return True
else:
    return False
if op1 == opr[3] & op2 != opr[4]:
    return True
else:
    return False
if op1 == opr[2] & op2 != opr[3] & op2 != opr[4]:
    return True
else:
    return False
if op1 == opr[0] & op2 == opr[1]:
    return True
else:
    return False
if op1 == opr[1]:
    return False
else:
    return True

print(has_precedence('/',"-"))

2 つの算術演算子を比較してブール値を返したいのですが、残念ながら、私が行ったこの方法は機能せず、その理由がよくわかりません

4

1 に答える 1

3

Python オペレーターはオブジェクトではありません。それらは構文です。それらを変数で参照することはできず、Python 内からそれらを比較することはできません。

代わりに、演算子の優先順位に関するドキュメントをお読みください。優先順位は、言語の動的な側面ではなく、コンパイラによって修正されます。

プログラミング言語の演算子の優先順位は、ほぼ標準化されています。たとえば、Python はPEMDAS オーダーに準拠しています。

于 2013-11-09T20:32:55.583 に答える