2017-10-16 124 views
2

我试图制作一个包含四个数字(从1到9)和三个操作(使用后缀表示法表示)的列表。我试图包含四个主要操作:+, - ,*和/。Python - 为后缀表示法列表生成随机操作

这个数字和操作的数量有5种可能的形式,它们如下所示。一个“O”代表一个数字,一个“X”代表一个操作:

OOXOOXX 
OOOOXXX 
OOOXOXX 
OOXOXOX 
OOOXXOX 

我知道你必须使用三个嵌套循环。由于四个数字称为“S”的名单,我试图沿着这一线的东西:

s = [1, 2, 3, 4] 
ops = ['+', '-', '*', '/'] 

for i in ops: 
    #Add a random operation from ops to one of the locations 
    for i in ops: 
     #Add a random operation from ops to one of the other locations 
     for i in ops: 
      s.append(i) 
      #All of the instances have an operation in the last but I'm not sure how to 
      #select a random operation 

基本上我卡试图选择一个随机的操作,并将其放置在指定的地点之一。我也想尝试一下所有可能的操作版本。任何帮助,将不胜感激。

编辑:找出如何获得所有可能的操作列表。但仍然不知道如何将它们放入列表中。我用下面的:

allOps = list(itertools.product(ops, repeat=3)) 
+0

看看[Random.shuffle](https://docs.python.org/2/library/random.html#random.shuffle) –

+0

'itertools.product'函数对于这样的事情很有用,因为它摆脱嵌套循环。我会尝试写一些代码。我认为'itertools.permutations'在这里也会有用。 –

+0

如果你想要所有可能的操作版本,那么你可以做系统的操作,而不是随机的选择操作。 –

回答

2

下面是产生4分之3的运营商和插槽他们的所有可能的组合与来自s的4个数字的5点可能的RPN的形式,以一个程序。

from itertools import product 
import operator 

all_ops = { 
    '+': operator.__add__, 
    '-': operator.__sub__, 
    '*': operator.__mul__, 
    '/': operator.__truediv__, 
} 

def rpn(cmd): 
    ''' Evaluate a list of operations in Reverse Polish Notation ''' 
    stack = [] 
    for u in cmd: 
     if u in all_ops: 
      op = all_ops[u] 
      y = stack.pop() 
      x = stack.pop() 
      stack.append(op(x, y)) 
     else: 
      stack.append(u) 
    # If command is well-formed there should be only 1 item left on the stack 
    return stack[-1] 

# Put all the different RPN expression patterns into a list of strings 
# O: number, X: operator 
forms = '''\ 
OOXOOXX 
OOOOXXX 
OOOXOXX 
OOXOXOX 
OOOXXOX 
'''.splitlines() 

s = [1, 2, 3, 4] 

# Make all the combinations of length 3 of all the operators 
for ops in product(all_ops.keys(), repeat=3): 
    print(ops) 
    for form in forms: 
     # Make an iterator for this combination of operators 
     opit = iter(ops) 
     # Make an iterator for the numbers in s 
     numit = iter(s) 
     # Slot the operators and numbers into the pattern 
     cmd = [next(opit) if c == 'X' else next(numit) for c in form] 
     # Evaluate the command 
     print(cmd, rpn(cmd)) 

输出

('+', '+', '+') 
[1, 2, '+', 3, 4, '+', '+'] 10 
[1, 2, 3, 4, '+', '+', '+'] 10 
[1, 2, 3, '+', 4, '+', '+'] 10 
[1, 2, '+', 3, '+', 4, '+'] 10 
[1, 2, 3, '+', '+', 4, '+'] 10 
('+', '+', '-') 
[1, 2, '+', 3, 4, '+', '-'] -4 
[1, 2, 3, 4, '+', '+', '-'] -8 
[1, 2, 3, '+', 4, '+', '-'] -8 
[1, 2, '+', 3, '+', 4, '-'] 2 
[1, 2, 3, '+', '+', 4, '-'] 2 
('+', '+', '*') 
[1, 2, '+', 3, 4, '+', '*'] 21 
[1, 2, 3, 4, '+', '+', '*'] 9 
[1, 2, 3, '+', 4, '+', '*'] 9 
[1, 2, '+', 3, '+', 4, '*'] 24 
[1, 2, 3, '+', '+', 4, '*'] 24 
('+', '+', '/') 
[1, 2, '+', 3, 4, '+', '/'] 0.42857142857142855 
[1, 2, 3, 4, '+', '+', '/'] 0.1111111111111111 
[1, 2, 3, '+', 4, '+', '/'] 0.1111111111111111 
[1, 2, '+', 3, '+', 4, '/'] 1.5 
[1, 2, 3, '+', '+', 4, '/'] 1.5 
('+', '-', '+') 
[1, 2, '+', 3, 4, '-', '+'] 2 
[1, 2, 3, 4, '+', '-', '+'] -4 
[1, 2, 3, '+', 4, '-', '+'] 2 
[1, 2, '+', 3, '-', 4, '+'] 4 
[1, 2, 3, '+', '-', 4, '+'] 0 
('+', '-', '-') 
[1, 2, '+', 3, 4, '-', '-'] 4 
[1, 2, 3, 4, '+', '-', '-'] 6 
[1, 2, 3, '+', 4, '-', '-'] 0 
[1, 2, '+', 3, '-', 4, '-'] -4 
[1, 2, 3, '+', '-', 4, '-'] -8 
('+', '-', '*') 
[1, 2, '+', 3, 4, '-', '*'] -3 
[1, 2, 3, 4, '+', '-', '*'] -5 
[1, 2, 3, '+', 4, '-', '*'] 1 
[1, 2, '+', 3, '-', 4, '*'] 0 
[1, 2, 3, '+', '-', 4, '*'] -16 
('+', '-', '/') 
[1, 2, '+', 3, 4, '-', '/'] -3.0 
[1, 2, 3, 4, '+', '-', '/'] -0.2 
[1, 2, 3, '+', 4, '-', '/'] 1.0 
[1, 2, '+', 3, '-', 4, '/'] 0.0 
[1, 2, 3, '+', '-', 4, '/'] -1.0 
('+', '*', '+') 
[1, 2, '+', 3, 4, '*', '+'] 15 
[1, 2, 3, 4, '+', '*', '+'] 15 
[1, 2, 3, '+', 4, '*', '+'] 21 
[1, 2, '+', 3, '*', 4, '+'] 13 
[1, 2, 3, '+', '*', 4, '+'] 9 
('+', '*', '-') 
[1, 2, '+', 3, 4, '*', '-'] -9 
[1, 2, 3, 4, '+', '*', '-'] -13 
[1, 2, 3, '+', 4, '*', '-'] -19 
[1, 2, '+', 3, '*', 4, '-'] 5 
[1, 2, 3, '+', '*', 4, '-'] 1 
('+', '*', '*') 
[1, 2, '+', 3, 4, '*', '*'] 36 
[1, 2, 3, 4, '+', '*', '*'] 14 
[1, 2, 3, '+', 4, '*', '*'] 20 
[1, 2, '+', 3, '*', 4, '*'] 36 
[1, 2, 3, '+', '*', 4, '*'] 20 
('+', '*', '/') 
[1, 2, '+', 3, 4, '*', '/'] 0.25 
[1, 2, 3, 4, '+', '*', '/'] 0.07142857142857142 
[1, 2, 3, '+', 4, '*', '/'] 0.05 
[1, 2, '+', 3, '*', 4, '/'] 2.25 
[1, 2, 3, '+', '*', 4, '/'] 1.25 
('+', '/', '+') 
[1, 2, '+', 3, 4, '/', '+'] 3.75 
[1, 2, 3, 4, '+', '/', '+'] 1.2857142857142856 
[1, 2, 3, '+', 4, '/', '+'] 2.25 
[1, 2, '+', 3, '/', 4, '+'] 5.0 
[1, 2, 3, '+', '/', 4, '+'] 4.2 
('+', '/', '-') 
[1, 2, '+', 3, 4, '/', '-'] 2.25 
[1, 2, 3, 4, '+', '/', '-'] 0.7142857142857143 
[1, 2, 3, '+', 4, '/', '-'] -0.25 
[1, 2, '+', 3, '/', 4, '-'] -3.0 
[1, 2, 3, '+', '/', 4, '-'] -3.8 
('+', '/', '*') 
[1, 2, '+', 3, 4, '/', '*'] 2.25 
[1, 2, 3, 4, '+', '/', '*'] 0.2857142857142857 
[1, 2, 3, '+', 4, '/', '*'] 1.25 
[1, 2, '+', 3, '/', 4, '*'] 4.0 
[1, 2, 3, '+', '/', 4, '*'] 0.8 
('+', '/', '/') 
[1, 2, '+', 3, 4, '/', '/'] 4.0 
[1, 2, 3, 4, '+', '/', '/'] 3.5 
[1, 2, 3, '+', 4, '/', '/'] 0.8 
[1, 2, '+', 3, '/', 4, '/'] 0.25 
[1, 2, 3, '+', '/', 4, '/'] 0.05 
('-', '+', '+') 
[1, 2, '-', 3, 4, '+', '+'] 6 
[1, 2, 3, 4, '-', '+', '+'] 2 
[1, 2, 3, '-', 4, '+', '+'] 4 
[1, 2, '-', 3, '+', 4, '+'] 6 
[1, 2, 3, '-', '+', 4, '+'] 4 
('-', '+', '-') 
[1, 2, '-', 3, 4, '+', '-'] -8 
[1, 2, 3, 4, '-', '+', '-'] 0 
[1, 2, 3, '-', 4, '+', '-'] -2 
[1, 2, '-', 3, '+', 4, '-'] -2 
[1, 2, 3, '-', '+', 4, '-'] -4 
('-', '+', '*') 
[1, 2, '-', 3, 4, '+', '*'] -7 
[1, 2, 3, 4, '-', '+', '*'] 1 
[1, 2, 3, '-', 4, '+', '*'] 3 
[1, 2, '-', 3, '+', 4, '*'] 8 
[1, 2, 3, '-', '+', 4, '*'] 0 
('-', '+', '/') 
[1, 2, '-', 3, 4, '+', '/'] -0.14285714285714285 
[1, 2, 3, 4, '-', '+', '/'] 1.0 
[1, 2, 3, '-', 4, '+', '/'] 0.3333333333333333 
[1, 2, '-', 3, '+', 4, '/'] 0.5 
[1, 2, 3, '-', '+', 4, '/'] 0.0 
('-', '-', '+') 
[1, 2, '-', 3, 4, '-', '+'] -2 
[1, 2, 3, 4, '-', '-', '+'] 4 
[1, 2, 3, '-', 4, '-', '+'] -4 
[1, 2, '-', 3, '-', 4, '+'] 0 
[1, 2, 3, '-', '-', 4, '+'] 6 
('-', '-', '-') 
[1, 2, '-', 3, 4, '-', '-'] 0 
[1, 2, 3, 4, '-', '-', '-'] -2 
[1, 2, 3, '-', 4, '-', '-'] 6 
[1, 2, '-', 3, '-', 4, '-'] -8 
[1, 2, 3, '-', '-', 4, '-'] -2 
('-', '-', '*') 
[1, 2, '-', 3, 4, '-', '*'] 1 
[1, 2, 3, 4, '-', '-', '*'] 3 
[1, 2, 3, '-', 4, '-', '*'] -5 
[1, 2, '-', 3, '-', 4, '*'] -16 
[1, 2, 3, '-', '-', 4, '*'] 8 
('-', '-', '/') 
[1, 2, '-', 3, 4, '-', '/'] 1.0 
[1, 2, 3, 4, '-', '-', '/'] 0.3333333333333333 
[1, 2, 3, '-', 4, '-', '/'] -0.2 
[1, 2, '-', 3, '-', 4, '/'] -1.0 
[1, 2, 3, '-', '-', 4, '/'] 0.5 
('-', '*', '+') 
[1, 2, '-', 3, 4, '*', '+'] 11 
[1, 2, 3, 4, '-', '*', '+'] -1 
[1, 2, 3, '-', 4, '*', '+'] -3 
[1, 2, '-', 3, '*', 4, '+'] 1 
[1, 2, 3, '-', '*', 4, '+'] 3 
('-', '*', '-') 
[1, 2, '-', 3, 4, '*', '-'] -13 
[1, 2, 3, 4, '-', '*', '-'] 3 
[1, 2, 3, '-', 4, '*', '-'] 5 
[1, 2, '-', 3, '*', 4, '-'] -7 
[1, 2, 3, '-', '*', 4, '-'] -5 
('-', '*', '*') 
[1, 2, '-', 3, 4, '*', '*'] -12 
[1, 2, 3, 4, '-', '*', '*'] -2 
[1, 2, 3, '-', 4, '*', '*'] -4 
[1, 2, '-', 3, '*', 4, '*'] -12 
[1, 2, 3, '-', '*', 4, '*'] -4 
('-', '*', '/') 
[1, 2, '-', 3, 4, '*', '/'] -0.08333333333333333 
[1, 2, 3, 4, '-', '*', '/'] -0.5 
[1, 2, 3, '-', 4, '*', '/'] -0.25 
[1, 2, '-', 3, '*', 4, '/'] -0.75 
[1, 2, 3, '-', '*', 4, '/'] -0.25 
('-', '/', '+') 
[1, 2, '-', 3, 4, '/', '+'] -0.25 
[1, 2, 3, 4, '-', '/', '+'] -1.0 
[1, 2, 3, '-', 4, '/', '+'] 0.75 
[1, 2, '-', 3, '/', 4, '+'] 3.6666666666666665 
[1, 2, 3, '-', '/', 4, '+'] 3.0 
('-', '/', '-') 
[1, 2, '-', 3, 4, '/', '-'] -1.75 
[1, 2, 3, 4, '-', '/', '-'] 3.0 
[1, 2, 3, '-', 4, '/', '-'] 1.25 
[1, 2, '-', 3, '/', 4, '-'] -4.333333333333333 
[1, 2, 3, '-', '/', 4, '-'] -5.0 
('-', '/', '*') 
[1, 2, '-', 3, 4, '/', '*'] -0.75 
[1, 2, 3, 4, '-', '/', '*'] -2.0 
[1, 2, 3, '-', 4, '/', '*'] -0.25 
[1, 2, '-', 3, '/', 4, '*'] -1.3333333333333333 
[1, 2, 3, '-', '/', 4, '*'] -4.0 
('-', '/', '/') 
[1, 2, '-', 3, 4, '/', '/'] -1.3333333333333333 
[1, 2, 3, 4, '-', '/', '/'] -0.5 
[1, 2, 3, '-', 4, '/', '/'] -4.0 
[1, 2, '-', 3, '/', 4, '/'] -0.08333333333333333 
[1, 2, 3, '-', '/', 4, '/'] -0.25 
('*', '+', '+') 
[1, 2, '*', 3, 4, '+', '+'] 9 
[1, 2, 3, 4, '*', '+', '+'] 15 
[1, 2, 3, '*', 4, '+', '+'] 11 
[1, 2, '*', 3, '+', 4, '+'] 9 
[1, 2, 3, '*', '+', 4, '+'] 11 
('*', '+', '-') 
[1, 2, '*', 3, 4, '+', '-'] -5 
[1, 2, 3, 4, '*', '+', '-'] -13 
[1, 2, 3, '*', 4, '+', '-'] -9 
[1, 2, '*', 3, '+', 4, '-'] 1 
[1, 2, 3, '*', '+', 4, '-'] 3 
('*', '+', '*') 
[1, 2, '*', 3, 4, '+', '*'] 14 
[1, 2, 3, 4, '*', '+', '*'] 14 
[1, 2, 3, '*', 4, '+', '*'] 10 
[1, 2, '*', 3, '+', 4, '*'] 20 
[1, 2, 3, '*', '+', 4, '*'] 28 
('*', '+', '/') 
[1, 2, '*', 3, 4, '+', '/'] 0.2857142857142857 
[1, 2, 3, 4, '*', '+', '/'] 0.07142857142857142 
[1, 2, 3, '*', 4, '+', '/'] 0.1 
[1, 2, '*', 3, '+', 4, '/'] 1.25 
[1, 2, 3, '*', '+', 4, '/'] 1.75 
('*', '-', '+') 
[1, 2, '*', 3, 4, '-', '+'] 1 
[1, 2, 3, 4, '*', '-', '+'] -9 
[1, 2, 3, '*', 4, '-', '+'] 3 
[1, 2, '*', 3, '-', 4, '+'] 3 
[1, 2, 3, '*', '-', 4, '+'] -1 
('*', '-', '-') 
[1, 2, '*', 3, 4, '-', '-'] 3 
[1, 2, 3, 4, '*', '-', '-'] 11 
[1, 2, 3, '*', 4, '-', '-'] -1 
[1, 2, '*', 3, '-', 4, '-'] -5 
[1, 2, 3, '*', '-', 4, '-'] -9 
('*', '-', '*') 
[1, 2, '*', 3, 4, '-', '*'] -2 
[1, 2, 3, 4, '*', '-', '*'] -10 
[1, 2, 3, '*', 4, '-', '*'] 2 
[1, 2, '*', 3, '-', 4, '*'] -4 
[1, 2, 3, '*', '-', 4, '*'] -20 
('*', '-', '/') 
[1, 2, '*', 3, 4, '-', '/'] -2.0 
[1, 2, 3, 4, '*', '-', '/'] -0.1 
[1, 2, 3, '*', 4, '-', '/'] 0.5 
[1, 2, '*', 3, '-', 4, '/'] -0.25 
[1, 2, 3, '*', '-', 4, '/'] -1.25 
('*', '*', '+') 
[1, 2, '*', 3, 4, '*', '+'] 14 
[1, 2, 3, 4, '*', '*', '+'] 25 
[1, 2, 3, '*', 4, '*', '+'] 25 
[1, 2, '*', 3, '*', 4, '+'] 10 
[1, 2, 3, '*', '*', 4, '+'] 10 
('*', '*', '-') 
[1, 2, '*', 3, 4, '*', '-'] -10 
[1, 2, 3, 4, '*', '*', '-'] -23 
[1, 2, 3, '*', 4, '*', '-'] -23 
[1, 2, '*', 3, '*', 4, '-'] 2 
[1, 2, 3, '*', '*', 4, '-'] 2 
('*', '*', '*') 
[1, 2, '*', 3, 4, '*', '*'] 24 
[1, 2, 3, 4, '*', '*', '*'] 24 
[1, 2, 3, '*', 4, '*', '*'] 24 
[1, 2, '*', 3, '*', 4, '*'] 24 
[1, 2, 3, '*', '*', 4, '*'] 24 
('*', '*', '/') 
[1, 2, '*', 3, 4, '*', '/'] 0.16666666666666666 
[1, 2, 3, 4, '*', '*', '/'] 0.041666666666666664 
[1, 2, 3, '*', 4, '*', '/'] 0.041666666666666664 
[1, 2, '*', 3, '*', 4, '/'] 1.5 
[1, 2, 3, '*', '*', 4, '/'] 1.5 
('*', '/', '+') 
[1, 2, '*', 3, 4, '/', '+'] 2.75 
[1, 2, 3, 4, '*', '/', '+'] 1.1666666666666667 
[1, 2, 3, '*', 4, '/', '+'] 2.5 
[1, 2, '*', 3, '/', 4, '+'] 4.666666666666667 
[1, 2, 3, '*', '/', 4, '+'] 4.166666666666667 
('*', '/', '-') 
[1, 2, '*', 3, 4, '/', '-'] 1.25 
[1, 2, 3, 4, '*', '/', '-'] 0.8333333333333334 
[1, 2, 3, '*', 4, '/', '-'] -0.5 
[1, 2, '*', 3, '/', 4, '-'] -3.3333333333333335 
[1, 2, 3, '*', '/', 4, '-'] -3.8333333333333335 
('*', '/', '*') 
[1, 2, '*', 3, 4, '/', '*'] 1.5 
[1, 2, 3, 4, '*', '/', '*'] 0.16666666666666666 
[1, 2, 3, '*', 4, '/', '*'] 1.5 
[1, 2, '*', 3, '/', 4, '*'] 2.6666666666666665 
[1, 2, 3, '*', '/', 4, '*'] 0.6666666666666666 
('*', '/', '/') 
[1, 2, '*', 3, 4, '/', '/'] 2.6666666666666665 
[1, 2, 3, 4, '*', '/', '/'] 6.0 
[1, 2, 3, '*', 4, '/', '/'] 0.6666666666666666 
[1, 2, '*', 3, '/', 4, '/'] 0.16666666666666666 
[1, 2, 3, '*', '/', 4, '/'] 0.041666666666666664 
('/', '+', '+') 
[1, 2, '/', 3, 4, '+', '+'] 7.5 
[1, 2, 3, 4, '/', '+', '+'] 3.75 
[1, 2, 3, '/', 4, '+', '+'] 5.666666666666667 
[1, 2, '/', 3, '+', 4, '+'] 7.5 
[1, 2, 3, '/', '+', 4, '+'] 5.666666666666666 
('/', '+', '-') 
[1, 2, '/', 3, 4, '+', '-'] -6.5 
[1, 2, 3, 4, '/', '+', '-'] -1.75 
[1, 2, 3, '/', 4, '+', '-'] -3.666666666666667 
[1, 2, '/', 3, '+', 4, '-'] -0.5 
[1, 2, 3, '/', '+', 4, '-'] -2.3333333333333335 
('/', '+', '*') 
[1, 2, '/', 3, 4, '+', '*'] 3.5 
[1, 2, 3, 4, '/', '+', '*'] 2.75 
[1, 2, 3, '/', 4, '+', '*'] 4.666666666666667 
[1, 2, '/', 3, '+', 4, '*'] 14.0 
[1, 2, 3, '/', '+', 4, '*'] 6.666666666666666 
('/', '+', '/') 
[1, 2, '/', 3, 4, '+', '/'] 0.07142857142857142 
[1, 2, 3, 4, '/', '+', '/'] 0.36363636363636365 
[1, 2, 3, '/', 4, '+', '/'] 0.21428571428571427 
[1, 2, '/', 3, '+', 4, '/'] 0.875 
[1, 2, 3, '/', '+', 4, '/'] 0.41666666666666663 
('/', '-', '+') 
[1, 2, '/', 3, 4, '-', '+'] -0.5 
[1, 2, 3, 4, '/', '-', '+'] 2.25 
[1, 2, 3, '/', 4, '-', '+'] -2.3333333333333335 
[1, 2, '/', 3, '-', 4, '+'] 1.5 
[1, 2, 3, '/', '-', 4, '+'] 4.333333333333333 
('/', '-', '-') 
[1, 2, '/', 3, 4, '-', '-'] 1.5 
[1, 2, 3, 4, '/', '-', '-'] -0.25 
[1, 2, 3, '/', 4, '-', '-'] 4.333333333333334 
[1, 2, '/', 3, '-', 4, '-'] -6.5 
[1, 2, 3, '/', '-', 4, '-'] -3.6666666666666665 
('/', '-', '*') 
[1, 2, '/', 3, 4, '-', '*'] -0.5 
[1, 2, 3, 4, '/', '-', '*'] 1.25 
[1, 2, 3, '/', 4, '-', '*'] -3.3333333333333335 
[1, 2, '/', 3, '-', 4, '*'] -10.0 
[1, 2, 3, '/', '-', 4, '*'] 1.3333333333333335 
('/', '-', '/') 
[1, 2, '/', 3, 4, '-', '/'] -0.5 
[1, 2, 3, 4, '/', '-', '/'] 0.8 
[1, 2, 3, '/', 4, '-', '/'] -0.3 
[1, 2, '/', 3, '-', 4, '/'] -0.625 
[1, 2, 3, '/', '-', 4, '/'] 0.08333333333333334 
('/', '*', '+') 
[1, 2, '/', 3, 4, '*', '+'] 12.5 
[1, 2, 3, 4, '/', '*', '+'] 2.5 
[1, 2, 3, '/', 4, '*', '+'] 3.6666666666666665 
[1, 2, '/', 3, '*', 4, '+'] 5.5 
[1, 2, 3, '/', '*', 4, '+'] 4.666666666666667 
('/', '*', '-') 
[1, 2, '/', 3, 4, '*', '-'] -11.5 
[1, 2, 3, 4, '/', '*', '-'] -0.5 
[1, 2, 3, '/', 4, '*', '-'] -1.6666666666666665 
[1, 2, '/', 3, '*', 4, '-'] -2.5 
[1, 2, 3, '/', '*', 4, '-'] -3.3333333333333335 
('/', '*', '*') 
[1, 2, '/', 3, 4, '*', '*'] 6.0 
[1, 2, 3, 4, '/', '*', '*'] 1.5 
[1, 2, 3, '/', 4, '*', '*'] 2.6666666666666665 
[1, 2, '/', 3, '*', 4, '*'] 6.0 
[1, 2, 3, '/', '*', 4, '*'] 2.6666666666666665 
('/', '*', '/') 
[1, 2, '/', 3, 4, '*', '/'] 0.041666666666666664 
[1, 2, 3, 4, '/', '*', '/'] 0.6666666666666666 
[1, 2, 3, '/', 4, '*', '/'] 0.375 
[1, 2, '/', 3, '*', 4, '/'] 0.375 
[1, 2, 3, '/', '*', 4, '/'] 0.16666666666666666 
('/', '/', '+') 
[1, 2, '/', 3, 4, '/', '+'] 1.25 
[1, 2, 3, 4, '/', '/', '+'] 3.6666666666666665 
[1, 2, 3, '/', 4, '/', '+'] 1.1666666666666667 
[1, 2, '/', 3, '/', 4, '+'] 4.166666666666667 
[1, 2, 3, '/', '/', 4, '+'] 5.5 
('/', '/', '-') 
[1, 2, '/', 3, 4, '/', '-'] -0.25 
[1, 2, 3, 4, '/', '/', '-'] -1.6666666666666665 
[1, 2, 3, '/', 4, '/', '-'] 0.8333333333333334 
[1, 2, '/', 3, '/', 4, '-'] -3.8333333333333335 
[1, 2, 3, '/', '/', 4, '-'] -2.5 
('/', '/', '*') 
[1, 2, '/', 3, 4, '/', '*'] 0.375 
[1, 2, 3, 4, '/', '/', '*'] 2.6666666666666665 
[1, 2, 3, '/', 4, '/', '*'] 0.16666666666666666 
[1, 2, '/', 3, '/', 4, '*'] 0.6666666666666666 
[1, 2, 3, '/', '/', 4, '*'] 6.0 
('/', '/', '/') 
[1, 2, '/', 3, 4, '/', '/'] 0.6666666666666666 
[1, 2, 3, 4, '/', '/', '/'] 0.375 
[1, 2, 3, '/', 4, '/', '/'] 6.0 
[1, 2, '/', 3, '/', 4, '/'] 0.041666666666666664 
[1, 2, 3, '/', '/', 4, '/'] 0.375 

当心,这个代码没有错误检查,因此,如果某种组合试图除以零它会崩溃。