U377130 简易计算器
题目背景
小未最近在偷偷学习 C 语言 ~~,因为他发现 C 语言的运行速度比 Python 快得多~~ 。
一天,老师布置了一道编程题,要求同学们实现一个简易计算器,这时,学 Python 的你开始偷偷乐了 ~~,因为你发现 Python 只用一行代码就能写完了~~ 。
题目描述
请你设计一个简易计算器程序,输入一个数学表达式,输出表达式的计算结果。
数学表达式的规则如下:
1. 表达式中只包含数字、运算符和空格;
2. 表达式中的数可能为整数,也可能为浮点数;
3. 表达式中的数可能为正数,可能为负数,也可能为零;
4. 表达式中的运算符只包括:+、-、\*、/、^,分别表示“加”、“减”、“乘”、“除”、“幂”,且运算优先级为 “幂 > 乘 = 除 > 加 = 减”,如果减号前面没有数字,则代表“取负”,“取负”的优先级小于“幂”,但大于“乘”和“除”;
5. 表达式中可能包含多个小括号,被小括号括起来的部分具有更高的运算优先级;
6. 空格只会出现在数与运算符之间,或括号与运算符之间,请忽略表达式中的所有空格;
7. 表达式中可能没有运算符和小括号,但保证至少有一个数。
表达式的计算结果可能为浮点数,你只需输出整数部分即可。
请注意:你的程序需要接收多组输入,并进行多次输出。
输入格式
输入共 $n + 1$ 行:
第一行输入一个正整数 $n$,表示共有 $n$ 个表达式;
接下来的 $n$ 行,每行输入一个字符串,第 $i + 1$ 行的字符串表示第 $i$ 个数学表达式。
输出格式
输出共 $n$ 行,每行输出一个整数,第 $i$ 行输出的整数表示第 $i$ 个数学表达式的计算结果。
说明/提示
~~提示:Python 只需一行代码就能 AC。~~
对于所有测试数据,保证表达式的长度小于 $100$,$n < 10$。