TÓPICO
W.A. 75% - Python
mdvieira1 perguntou 5 years ago
Olá senhores (as), já testei o código abaixo com todas as entradas disponíveis no problema e no uDebug, em todos obtive o resultado correto. Contudo ao submeter a questão recebo erro de 75%. Alguem sabe onde encontr-se me erro?
def prioridade(item):
preced1 = ['+', '-']
preced2 = ['/', '*']
preced3 = ['^']
if item in preced1:
return 1
elif item in preced2:
return 2
elif item in preced3:
return 3
else:
return -1
ct = int(input())
sinais = ['+','-','*','/','^']
parenteses = ['(',')']
for expressao in range(ct):
expre = input()
saida = ''
pilha = []
for i in expre:
if i not in sinais and i not in parenteses:
saida += i
elif i in sinais:
if len(pilha) > 0:
if ( prioridade(pilha[-1]) >= prioridade(i)):
saida += pilha.pop()
if len(pilha) > 1 and prioridade(pilha[-1]) == prioridade(i):
saida += pilha.pop()
pilha.append(i)
else:
pilha.append(i)
else:
pilha.append(i)
else:
pilha.append(i)
elif i == '(':
pilha.append(i)
elif i == ')':
while pilha[-1] != '(':
saida += pilha.pop()
pilha.pop()
while len(pilha) > 0:
saida += pilha.pop()
print(saida)
Este tópico ainda não foi respondido. Seja o primeiro!