輸入三個數字,和一個結果,怎么推出他的計算公式呢?(只涉及整數和加減乘除)
比如輸入[15,2,4]和7,可以輸出15-2*4
uj5u.com熱心網友回復:
下面的代碼:1. 只涉及加、減、乘, 沒有考慮 除法(除法有點麻煩)
2. 沒有剔除 因為加法和乘法的交換律 而產生的重復項
玩具代碼,博君一樂
from itertools import permutations
s = [15, 2, 4]
r = 7
s = [str(i) for i in s]
op = ['+', '-', '*']
t = [i + x + j + y + k for x in op for y in op for i, j, k in permutations(s)]
ans = [i + ' = ' + str(r) for i in t if eval(i) == r]
for i in ans: print(i) if len(ans)!=0 else print("No answer")
#15-2*4 = 7
#15-4*2 = 7
uj5u.com熱心網友回復:
最后的列印有點問題, 改一下:if len(ans)!=0:
for i in ans:
print(i)
else:
print("No answer")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/162168.html
