关注
# -*- coding: utf-8 -*-
s = raw_input()
ops, nums = [], []
n = len(s)
ret = -1
flag = True
i = 0
while i < n:
if s[i].isdigit():
j = i
num = 0
while j < n and s[j].isdigit():
num = num * 10 + ord(s[j]) - ord('0')
j += 1
nums.append(num)
i = j - 1
elif s[i] == ')':
if len(ops) == 0:
flag = False
break
op = ops[-1]
ops.pop()
if op == '^' and len(nums) > 0:
ans = nums[-1]
nums.pop()
nums.append(ans + 1)
elif (op == '*' or op == '+') and len(nums) > 1:
a, b = nums[-1], nums[-2]
nums.pop()
nums.pop()
nums.append((a * b) if op == '*' else (a + b))
else:
flag = False
break
if len(ops) == 0 or ops[-1] is not '(':
flag = False
break
ops.pop()
if len(ops) == 0:
ret = nums[-1]
if len(ops) == 0 and i < n - 1 and len(nums) > 0:
nums.pop()
elif s[i] == ' ':
pass
else:
ops.append(s[i])
i += 1
if len(ops) > 0:
flag = False
if ret is not -1:
print ret
else:
print -1 if flag == False else nums[-1]
查看原帖
点赞 1
相关推荐
淬月星辉:全靠面完自己回忆的,有很多细节都没写进去,真实面试要比帖子里问的详细
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
14114次浏览 191人参与
# 我的省钱小妙招 #
37535次浏览 446人参与
# 论秋招对个人心气的改变 #
15100次浏览 206人参与
# 机械人避雷的岗位/公司 #
44649次浏览 315人参与
# 程序员找工作至少要刷多少题? #
22843次浏览 287人参与
# 工作前VS工作后,你的心态变化 #
38363次浏览 266人参与
# 为了减少AI幻觉,你注入过哪些设定? #
7025次浏览 197人参与
# 通信/硬件求职避坑tips #
139869次浏览 1086人参与
# 你的mentor是什么样的人? #
51424次浏览 729人参与
# 牛客AI体验站 #
8867次浏览 221人参与
# 毕业论文进行时 #
27602次浏览 153人参与
# 你现在会用到哪些AI技能? #
24756次浏览 137人参与
# 运营来爆料 #
77359次浏览 467人参与
# 应届生进小公司有什么影响吗 #
118680次浏览 1162人参与
# 找实习多的是你不知道的事 #
1789068次浏览 20670人参与
# 运营人的第一份offer应该如何选 #
218856次浏览 1260人参与
# 我现在比当时_,你想录用我吗 #
9930次浏览 136人参与
# 哪一瞬间让你觉得工作好累 #
75700次浏览 431人参与
# 一张图晒一下你的AI员工 #
6214次浏览 138人参与
# AI Coding的使用心得 #
5956次浏览 123人参与
