繁体   English   中英

如何将多个字符串运算符转换为数字?

[英]How to convert multiple string operators into numbers?

我一直在尝试使用 tkinter 在 Python 中创建一个计算器,但它不起作用。 我正在尝试使用运算符库和 eval 函数。

import operator

ops = {
    '+' : operator.add,
    '*' : operator.mul,
}


def eval_binary_expr(op1, oper, op2, get_operator_fn=ops.get):
    op1, op2 = int(op1), int(op2)
    return get_operator_fn(oper)(op1, op2)


print(eval_binary_expr(*("1 + 3 * 4".split())))

请帮我。 它对我不起作用。 我是初学者,所以我不擅长这个。 对不起,如果你认为这个问题很愚蠢。

想一想:这个列表有多少个项目,是由"1 + 3 * 4".split() 它们如何与eval_binary_expreval_binary_expr

如果您想要通常的运算符优先级,则解决此类问题的一种常见方法是调车场算法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM