计算器大冲关
第一关加减乘除
核心,两头添两个+
思想是 把operation记住,然后现存数字是operation后面的数字,乘除的时候就可以pop出符号前面的数字,再和现存的数字做运算。
还有个巧妙的地方在于把减法当负号。最后就是sum(stack)里所有东西
另外
说下 python的 int() 取整和 //
Int取整简单粗暴就是截断,小数直接丢掉,就会呈现出,正数向下取,负数向上取。
5//2 = 2
-3 // 2 = -1
暴力截断即可
//全都是向下取整,取出来的数字就是变小。比如
5 // 2 = 2
-3//2 = -2
class Solution:
def calculate(self, s: str) -> int:
def operate(num, op):
if op == "*":
stack.append(num * stack.pop())
if op == "/":
stack.append(int(stack.pop() / num))
if op == "-"