def stack():
s=[]
return s
def push(s,item):
s.append(item)
def pop(s):
return s.pop()
def size(s):
return len(s)
def peek(s):
if size(s)!=0:
return s[len(s)-1]
else:
return 0
def isEmpty(s):
if size(s)==0:
return 1
else:
return 0
x=input().strip()
a=x.split("+")
s=stack()
new=1
sum=0
x=""
for i in a:
if i.find("*")==-1:
push(s,(int(i)%10000))
if i.find("*")!=-1:
numbers=i.split("*")
for j in numbers:
j_int=int(j)
j_int%=10000
new*=j_int
new%=10000
push(s,new)
new=1
if size(s)==2:
sum+=peek(s)
pop(s)
sum+=peek(s)
pop(s)
push(s,sum)
sum=0
print(peek(s))
样例都没问题
自测数据:
1.10001
输出:1
2.123+234
输出:30
3.0*123+4
输出:4
还有一些自己随便测的,可能自己没测到点上吧
谢谢大佬指点!