tokens=input() result=list() for token in tokens: if token in "+-*/": left=result.pop() right=result.pop() if token == "+": ans = left + right result.append(ans) elif token == "-": ans = left - right result.append(ans) elif token == "*": ans = left * right result.append(ans) elif token == "/": ans = int(left / right) result.append(ans) else: result.append(int(token)) print(result[0])
input得写在函数外面
先input了若干内容 存在tokens里
再把tokens传入函数
没有调用函数哦
前面只是定义了函数
append的是int(token)
因为这时候token是字符串形式的数字 你得把数字存进stack里
而且做完加减乘除后的结果 也没有入栈
就是lc上是不用自己输入数据和处理
acm需要输入数据和处理而已
lc中的tokens是一个列表
遍历tokens是遍历这个列表 就没啥问题
所以这道题如果要出成ACM模式的话 输入的串 数字和符号之间是要用空格隔开的
所以输入的时候是这样写 tokens = input().split()
但是在ide里 class solution可加可不加