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)