Pagini recente » Cod sursa (job #1711665) | Cod sursa (job #1757818) | Cod sursa (job #693966) | Cod sursa (job #1083687) | Cod sursa (job #2586342)
s = open('evaluare.in', 'r').read()
f = open('evaluare.out','w+')
p=0
def eval():
r = termen()
global p
while s[p] == '+' or s[p] == '-':
if s[p] == '+':
p+=1
r += termen()
else:
p+=1
r -= termen()
return r
def termen():
r = factor()
global p
while s[p] == '*' or s[p] == '/':
if(s[p] == '*'):
p+=1
r*= factor()
else:
p+=1
r/=factor()
return r
def factor():
r=0
global p
if s[p]=='(':
p+=1
r = eval()
p+=1
else:
while s[p]>='0' and s[p]<='9':
r = r*10 + int(s[p])
p+=1
return r
f.write(str(int(eval())))