我正在尝试编写一个程序,该程序将识别字符串中的运算符并显示它。我想知道是否有任何函数可以检查字符串中的运算符。就像我们有string.punctuation
用于标点符号
我尝试将一些运算符放在列表中,并尝试将其与字符串进行比较。
op = ["+", "-", "*", "/", "<", ">", " ", "="]
exp = input("Enter the expression: ")
tokens = exp.split()
for x in tokens:
if x in op:
print("operator: ", x)
我得到了预期的结果,但是只是想知道是否有一个函数可用于检查字符串中的运算符。
答案 0 :(得分:0)
我不知道有什么比您做的更好的方法。但是,如果您只想检查运算符的存在,并且性能是您的考虑因素,那么我建议使用集合交集:
op = {"+","-","*","/","<",">"," ","="}
exp = input("""Enter the expression: """)
tokens = set(exp)
print(tokens.intersection(op))
对于像"+++ *** 2 < 3"
这样的输入,打印值将是:
{' ', '+', '*', '<'}