1、把四则运算排列一下,四则运算在任何算式里面允许重复出现:b=["+","-","*","/"]for x in itertools.product(b,b,b,b,b): print(x)
2、给出5个数字,但是需要把数字以字符的形式给出:a=["6","8","2","7","9"]
3、选择一种运算方法,与a组成一个"矩阵"g:f=('/', '/', '*', '-', '+')g=np.array([a,f])
4、改变g的形状(也就是摊平这个"矩阵"):g=np.reshape(g,10,-1)
5、去掉最后一个元素:g=g[:-1]
6、把g转化为字符串:g=''.join(g)再转化为算式:h=eval(g)
7、对所有的运算方法,都执行一遍,并提取其中结果等于24的部分:for x in itertools.product(b,b,b,b,b): g=np.array([a,x])……
8、出现了重复的情况,可以用set去除重复的内容。
9、尝试一下六个数的情形。a=["6","8","2","7","9","3"]答案是:6-8+2*7+9+3=246-8*2+7+9*3=24
10、a=职邗珩垃["6","8","2","7","9","3","稆糨孝汶;11"]七个数的情形:6*8+2+7-9/3*11=24.06+8-2+7-9+3+11=246+8-2*7-9+3*11=246*8+2*7-9*3-11=246-8+2+7+9-3+11=246+8*2+7+9-3-11=246+8+2+7+9+3-11=24
11、a=职邗珩垃["6","8","2","7","9","3","稆糨孝汶;11","5"]这八个数有18种满足要求的方法。