描述
输入一个表达式(用字符串表示),求这个表达式的值。
保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(’, ‘)’,‘[’, ‘]’,‘{’ ,‘}’。且表达式一定合法。
数据范围:表达式计算结果和过程中满足 ∣𝑣𝑎𝑙∣≤1000 ∣val∣≤1000 ,字符串长度满足 1≤𝑛≤1000 1≤n≤1000
输入描述:
输入一个算术表达式
输出描述:
得到计算结果
示例1
输入:
3+2*{1+2*[-4/(8-6)+7]}
输出:
25
此题需要注意eval去掉引号后,能当做是表达式的部分只能是(),不能含有[],{},因此需要进行字符串替换。由于python中的字符串是不可变的,因此要将替换后的结果返回给一个新的字符串变量,根据需要替换的符号依次替换。
string=input()
s1=string.replace('{','(')
s2=s1.replace('[','(')
s3=s2.replace('}',')')
s4=s3.replace(']',')')
print(round(eval(s4)))