Pagini recente » Cod sursa (job #2231134) | Cod sursa (job #745952) | Cod sursa (job #1675162) | Cod sursa (job #700846) | Cod sursa (job #2875094)
fin = open("evaluare.in")
fout = open("evaluare.out", "w")
sir = fin.readline()
sir = "(" + sir + ")"
while "(" in sir:
lista = []
first_index = len(sir)-sir[::-1].index("(")-1
last_index = sir.index(")", first_index)
numar = 0
numere = []
semne = []
for litera in sir[first_index+1:last_index]:
if litera.isnumeric():
numar = numar*10 + int(litera)
else:
numere.append(numar)
numar = 0
semne.append(litera)
numere.append(numar)
while "*" in semne or "/" in semne:
try:
index1 = semne.index("*")
except:
index1 = -1
try:
index2 = semne.index("/")
except:
index2 = -1
if (index1 < index2 and index1 != -1) or index2 == -1:
s = semne.pop(index1)
aux = numere.pop(index1+1)
numere[index1] *= aux
else:
semne.pop(index2)
aux = numere.pop(index2+1)
numere[index2] = numere[index2]//aux
while semne:
if semne[0] == "+":
semne.pop(0)
numere[0] += numere[1]
numere.pop(1)
else:
semne.pop(0)
numere[0] -= numere[1]
numere.pop(1)
sir = sir[:first_index]+str(numere[0])+sir[last_index+1:]
fout.write(str(numere[0]))
fin.close()
fout.close()