def solve(s): stack = [] sign = '' for i in range(len(s)): if(s[i].isdigit()): intv = int(s[i]) if(sign == '') or (sign == '+'): stack.append(intv) elif(sign == '-'): stack.append(-intv) elif(sign == '*'): temp = stack.pop() stack.append(temp*intv) else: sign = s[i] print(sum(stack)) while(True): string = input() if string == 'END': break solve(string)我用栈的思想,为什么只有75%呢,楼主求解啊