Example #1
0
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)
Example #2
0
    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):