Python将角色转换为操作

Ale*_*her 4 python

我正在为一个项目问题编写一个简单的Python程序,它涉及在操作上生成一个搜索空间,例如:

8 = (4 * (1 + 3)) / 2
14 = 4 * (3 + 1 / 2)
19 = 4 * (2 + 3) ? 1
36 = 3 * 4 * (2 + 1)
Run Code Online (Sandbox Code Playgroud)

我在数组中存储可能的操作:

op = ['+', '-', '*', '/']
Run Code Online (Sandbox Code Playgroud)

我想知道在Python中是否有任何方法可以将字符强制转换为操作,所以我可以简单地执行以下操作:

for operation in op:
    num1 foo(operation) num2
Run Code Online (Sandbox Code Playgroud)

mdm*_*dml 8

您可以使用该operator模块来获取您正在寻找的功能.该operator模块具有"一组与Python的内部运算符相对应的高效函数":

>>> import operator as op
>>> ops = {"+": op.add, "-": op.sub, "/": op.div, "*": op.mul}
>>> num1, num2 = 3, 6
>>> for name, fn in ops.iteritems():
...     print "{} {} {} = {}".format(num1, name, num2, fn(num1, num2))
... 
3 + 6 = 9
3 * 6 = 18
3 - 6 = -3
3 / 6 = 0
Run Code Online (Sandbox Code Playgroud)