Pagini recente » Cod sursa (job #1529620) | Cod sursa (job #261054) | Cod sursa (job #1595599) | Cod sursa (job #2277661) | Cod sursa (job #2586376)
input_file = open('evaluare.in', 'r')
s = input_file.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())))
f.close()
input_file.close()