def calculadora_polaca(elementos): """Dada una lista de elementos que representan componentes de una expresion en notacion polaca inversa, evalua dicha expresion. Si la expresion esta mal formada, levanta ValueError""" p = Pila() for elemento in elementos: print("DEBUG:", elemento) try: numero = float(elemento) p.apilar(numero) print("DEBUG: apila ", numero) except ValueError: if elemento not in "+-*/ %" or len(elemento) != 1: raise ValueError("Operador Invalido") try: a1 = p.desapilar() print("DEBUG: desapila ", a1) a2 = p.desapilar() print("DEBUG: desapila ", a2) except ValueError: print("DEBUG: error pila faltan openandos") raise ValueError("Faltan openrandos") if elemento == '+': resultado = a2 + a1 elif elemento == '-': resultado = a2 - a1 elif elemento == '*': resultado = a2 * a1 elif elemento == '/': resultado = a2 / a1 elif elemento == '%': resultado = a2 % a1 print("DEBUG: apila ", resultado) p.apilar(resultado) res = p.desapilar() if p.es_vacia(): return res else: print("DEBUG: error pila sobran openrandos") raise ValueError("Sobran operandos") print(elementos)
pelicula1, pelicula2, pelicula3, pelicula4, pelicula5, pelicula6, pelicula7, pelicula8, pelicula9, pelicula10, pelicula11, pelicula12, pelicula13, pelicula14, pelicula15 ] [peliculas.apilar(x) for x in pelis] #Se pide la entrada del genero que se desea obtener print "Escriba el genero deseado para buscar peliculas del mismo tipo" generoDeseado = raw_input() #Se crea la cola de peliculas del genero seleccionado seleccionadas = Cola() while (peliculas.es_vacia() == False): pelicula16 = peliculas.desapilar() if (pelicula16.genero == generoDeseado): seleccionadas.encolar(pelicula16) #Se le da a escoger al usuario la pelicula escogida = False contador = 0 while (seleccionadas.es_vacia() == False and escogida == False): contador = +contador + 1 print "La pelicula #", contador, "del genero seleccionado es: ", seleccionadas.desencolar( ).nombre print "¿Esta es la deseada?, responda True si esta es, por el contrario responda False" escogida = input() if (seleccionadas.es_vacia() == True and escogida == False):