```python
复制
import re
def evaluate_expression(expr): nums = re.findall(r'\d ', expr) ops = re.findall(r'[- */]', expr)
if len(nums) != len(ops) 1: return 0 def calculate(n1, op, n2): if op == ' ': return n1 n2 elif op == '-': return n1 - n2 elif op == '*': return n1 * n2 elif op == '/': if n2 == 0: return 0 return n1 // n2 max_expression = '' max_value = 0 def dfs(idx, expression, value): nonlocal max_expression, max_value if idx == len(ops): if value > max_value: max_expression = expression max_value = value return dfs(idx 1, expression '*' nums[idx 1], calculate(value, '*', int(nums[idx 1]))) dfs(idx 1, expression ' ' nums[idx 1], calculate(value, ' ', int(nums[idx 1]))) dfs(idx 1, expression '-' nums[idx 1], calculate(value, '-', int(nums[idx 1]))) dfs(idx 1, expression '/' nums[idx 1], calculate(value, '/', int(nums[idx 1]))) dfs(0, nums[0], int(nums[0])) return max_value
复制
expr = "1 2*3-4/2" result = evaluate_expression(expr) print(result)
```
输出结果为: 7