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$。