1

输入3+2*{1+2*[-4/(8-6)+7]}等数学表达式让python程序计算。问题是,它没有输出。如何解决这个问题。

while True:
    try:
        express = input()
        express.replace("[", "(")
        express.replace("{", "(")
        express.replace("]", ")")
        express.replace("}", ")")
        print(eval(express))
    except:
        break
4

1 回答 1

1

更新:每次替换后,我们必须更新表达式,否则更改只会反映给给定的表达式&在每个替换语句之后它会改变并且只修改给定的表达式

while True:
    try:
        express = input()
        x = express.replace("[", "(")
        y = x.replace("{", "(")
        z = y.replace("]", ")")
        w = z.replace("}", ")")
        print(eval(w))
    except:
        break
于 2021-08-08T05:13:49.623 回答