Saltar al contenido

convertidor de infijo a postfijo usando el ejemplo de código de pila

Investigamos en el mundo on line para así tener para ti la solución para tu problema, en caso de dudas puedes dejarnos un comentario y te contestamos con gusto, porque estamos para servirte.

Ejemplo: conversión de postfijo de Python

"""
Author : ITVoyagers (itvoyagers.in)

Date :31st October 2019

Description : Program to show use of stack in infix to postfix conversion using python.
"""classinfix_to_postfix:
    precedence='^':5,'*':4,'/':4,'+':3,'-':3,'(':2,')':1def__init__(self):
        self.items=[]
        self.size=-1defpush(self,value):
        self.items.append(value)
        self.size+=1defpop(self):if self.isempty():return0else:
            self.size-=1return self.items.pop()defisempty(self):if(self.size==-1):returnTrueelse:returnFalsedefseek(self):if self.isempty():return false
        else:return self.items[self.size]defisOperand(self,i):if i in'ABCDEFGHIJKLMNOPQRSTUVWXYZ':returnTrueelse:returnFalsedefinfixtopostfix(self,expr):
        postfix=""print('postfix expression after every iteration is:')for i in expr:if(len(expr)%2==0):print("Incorrect infix expr")returnFalseelif(self.isOperand(i)):
                postfix +=i
            elif(i in'+-*/^'):while(len(self.items)and self.precedence[i]<=self.precedence[self.seek()]):
                    postfix+=self.pop()
                self.push(i)elif i is'(':
                self.push(i)elif i is')':
                o=self.pop()while o!='(':
                    postfix +=o
                    o=self.pop()print(postfix)#end of forwhilelen(self.items):if(self.seek()=='('):
                self.pop()else:
                postfix+=self.pop()return postfix
s=infix_to_postfix()
expr=input('enter the expression ')
result=s.infixtopostfix(expr)if(result!=False):print("the postfix expr of :",expr,"is",result)

Nos puedes añadir valor a nuestra información tributando tu experiencia en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *