题解 | #四则运算#

四则运算

https://www.nowcoder.com/practice/9999764a61484d819056f807d2a91f1e


def helper(s):
    pre_sign = '+'
    num = 0
    stack = []
	
    while s:
        v = s[0]
        s.pop(0)

        if v.isdigit():
            num = num*10 + int(v)

        if v in ['(', '[', '{']:
            num = helper(s)

        if not v.isdigit() or len(s)==0:
            if pre_sign == '+':
                stack.append(num)
            if pre_sign == '-':
                stack.append(-num)
            if pre_sign == '*':
                tmp = stack.pop()
                stack.append(tmp*num)
            if pre_sign == '/':
                tmp = stack.pop()
                stack.append(tmp/num)
            num = 0
            pre_sign = v
            
        
        
        if v in [')', ']', '}']:
                break
            
    return sum(stack)


全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务