我有一个方程 template = (a op b) op c
的模板,其中可用的操作 op
如下: op = ['+', '-', '/', '*']
。
我想要做的是使用操作 op
和参数 a
、 b
和 c
来计算这个方程的所有可能组合。
例如
(a + b) + c
(a - b) - c
(a * b) * c
(a / b) / c
(a + c) + b
(a - c) + b
(b * a) - c
...
...
...
我查看了
itertools.combinations
但是我不太确定我是否(或如何)在这个特定的上下文中使用这个函数。 最佳答案
这做你想要的:
import itertools
symbol = ['a', 'b', 'c']
op = ['+', '-', '/', '*']
for symbols in itertools.permutations(symbol):
for ops in itertools.product(op, repeat=2):
print "(%s %s %s) %s %s" % (
symbols[0], ops[0], symbols[1], ops[1], symbols[2])
关于python - 计算方程的可能组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44675217/