我目前正在一个名为 singpath 的网站上研究 python 问题集。问题是:
前缀求值 创建一个函数,以前缀符号的形式对算术表达式求值,没有空格或语法错误。表达式以字符串形式给出,表达式中的所有数字均为整数 0~9,运算符为 +(加)、-(减)、*(乘)、/(除)、%(取模),其中操作与 Python 中的操作相同。前缀表示法,也称为波兰表示法,是逻辑、算术和代数的一种表示法。它将运算符放在操作数的左侧。如果运算符的数量是固定的,则结果是缺少括号或其他括号的语法,仍然可以毫无歧义地解析。
这看起来很简单,但是字符串被压缩,输入中没有空格来拼接数据。如何在不导入模块的情况下将数据与字符串分开?此外,我如何使用数据结果来求解给定的方程?另请注意,Singpath 解决方案必须在一个不能使用标准 python 库中找不到的方法的函数中。这还包括在解决方案中声明的函数:S
例子:
>>> eval_prefix("+34")
7
>>> eval_prefix("*−567")
-7
>>> eval_prefix("-*33+2+11")
5
>>> eval_prefix("-+5*+1243")
14
>>> eval_prefix("*+35-72")
40
>>> eval_prefix("%3/52")
1
请参阅我的观点,没有空格 D: