2017-02-14 2 views
-3

私はPythonを練習していますが、以下の方程式が120に等しいときに正しい演算子を見つけたいと思います。 35(演算子)5(演算子)20(演算子)5(演算子)たとえば35 + 5 + 20 + 35 = 120Pythonを使用して、方程式の正しい演算子を見つける方法は?

私はこのスクリプトをPythonで書いていますが、作成していないようです。キャッチは私が部門( '/')を使うことができないということです。大括弧も含めることができます。

opr = ["+", "-", "*"] 

for op1 in opr: 
    for op2 in opr: 
    for op3 in opr: 
     testStr = "35" + op1 + "5" + op2 + "20" + op3 + "5" 
     if eval(testStr) == 120: 
      print(testStr) 
      break 
+0

「生産していない」とはどういう意味ですか? –

+2

最後に '' 35 "'の代わりに '' 5 "'を入れていることをご存知ですか? – user2357112

+1

テキストには35 + 5 + 20 + 35、コードには35,5,20、* 5 *があります。どちらにも120を加えないでください。しかし、それを修正すれば、解決策が得られます。 –

答えて

0

それはテスト文字列を印刷し、すべてのループでしまうので、私はあなたのコードを変更し、これは私が得たものである:

35+5+20+5 evaluates to: 65 
35+5+20-5 evaluates to: 55 
35+5+20*5 evaluates to: 140 
35+5-20+5 evaluates to: 25 
35+5-20-5 evaluates to: 15 
35+5-20*5 evaluates to: -60 
35+5*20+5 evaluates to: 140 
35+5*20-5 evaluates to: 130 
35+5*20*5 evaluates to: 535 
35-5+20+5 evaluates to: 55 
35-5+20-5 evaluates to: 45 
35-5+20*5 evaluates to: 130 
35-5-20+5 evaluates to: 15 
35-5-20-5 evaluates to: 5 
35-5-20*5 evaluates to: -70 
35-5*20+5 evaluates to: -60 
35-5*20-5 evaluates to: -70 
35-5*20*5 evaluates to: -465 
35*5+20+5 evaluates to: 200 
35*5+20-5 evaluates to: 190 
35*5+20*5 evaluates to: 275 
35*5-20+5 evaluates to: 160 
35*5-20-5 evaluates to: 150 
35*5-20*5 evaluates to: 75 
35*5*20+5 evaluates to: 3505 
35*5*20-5 evaluates to: 3495 
35*5*20*5 evaluates to: 17500 

あなたが見ることができるように、それは120

と評価されたことがありません
関連する問題