如何使用 python 找到方程的正确运算符?

How to find the correct operators for an equation, using python?

我正在练习 python,我想找到正确的运算符来找到下面的等式何时等于 120 35(运算符) 5(运算符) 20(运算符) 5(运算符) 例如 35+5+20+35 = 120

我在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

我更改了您的代码,因此它会在每个循环中打印测试字符串和结果,这就是我得到的:

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。