Python
1op = op2 = '+'
2sgn = False
3val = 0
4for t in input().split(' '):
5 if t == 'x':
6 sgn = op != op2
7 elif t == '+' or t == '-':
8 op = t
9 elif t == '=':
10 op = '+'
11 op2 = '-'
12 else:
13 v = int(t)
14 val = val + v if op == op2 else val - v
15print(val if sgn else -val)
区切りはスペース 1個です。
複数のスペースやタブにしたい場合は正規表現を使ってください。
区切り無し(6-x=3 など)には対応していません。
理解できたかどうかのコメントをお願いします。
追記
区切りが複数のスペースでもよいようにしました。
Python
1op = op2 = '+'
2val = 0
3
4for t in input().split(' '):
5 if t == '':
6 continue
7 if t in ['x', '+x']:
8 sgn = op != op2
9 elif t == '-x':
10 sgn = op == op2
11 elif t in ['+', '-']:
12 op = t
13 elif t == '=':
14 op = '+'
15 op2 = '-'
16 else:
17 val = val + int(t) if op == op2 else val - int(t)
18
19print('x =', val if sgn else -val)
-x + 3 = -5
のように x に符号をつけてもよいようにもしました。