-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('/',"-"))

我想比较两个算术运算符并返回一个布尔值,但不幸的是我所做的这种方法不起作用,我不确定为什么

4

1 回答 1

3

Python 运算符不是对象。它们是语法。你不能用变量来引用它们,也不能在 Python 中比较它们。

您将改为阅读运算符优先级文档。优先级由编译器固定,而不是语言的动态方面。

编程语言运算符优先级已基本标准化;例如, Python 遵循PEMDAS 顺序

于 2013-11-09T20:32:55.583 回答