コード例 #1
0
def ordenados():
    p = Pila()
    p_aux = Pila()
    aux = 0
    elemento = input("Ingrese el elemento (-100 para no cargar mas): ")
    int(elemento)
    while (elemento != -100):
        if pila_llena(p):
            print("No hay mas espacio")
        else:
            if pila_vacia(p):
                apilar(p, elemento)
            else:
                aux = desapilar(p)
                while elemento < aux and not pila_vacia(p):
                    apilar(p_aux, aux)
                    aux = desapilar(p)
                else:
                    if elemento < aux:
                        apilar(p, elemento)
                        apilar(p, aux)
                    else:
                        apilar(p, aux)
                        apilar(p, elemento)
                if not pila_vacia(p_aux):
                    while not pila_vacia(p_aux):
                        apilar(p, desapilar(p_aux))
            elemento = input("Ingrese el elemento (-100 para no cargar mas): ")
            int(elemento)
    barrido(p)
コード例 #2
0
def temperatura():
    p = Pila()
    p_aux = Pila()
    sum = 0
    c_encima = 0
    c_debajo = 0
    for i in range(0, 30):
        apilar(p, random.randint(15, 27))
    max = desapilar(p)
    min = max
    apilar(p, max)
    while not pila_vacia(p):
        aux = desapilar(p)
        sum = sum + aux
        if aux < min:
            min = aux
        if aux > max:
            max = aux
        apilar(p_aux, aux)
    media = sum / 30
    while not pila_vacia(p_aux):
        aux = desapilar(p_aux)
        if aux > media:
            c_encima += 1
        elif aux < media:
            c_debajo += 1
        apilar(p, aux)
    print("Valor maximo de temperatura: ", max)
    print("Valor minimo de temperatura: ", min)
    print("Promedio del total de los valores: ", media)
    print("Valores por encima de la media: ", c_encima)
    print("Valores por debajo de la media: ", c_debajo)
    print("Lista de los valores: ")
    barrido(p)
コード例 #3
0
def cartas():
    p = Pila()
    po = Pila()
    pb = Pila()
    pe = Pila()
    pc = Pila()
    palos = ['Oro', 'Basto', 'Copa', 'Espada']
    while not pila_llena(p):
        num = random.randint(1, 13)
        palo = random.choice(palos)
        apilar(p, [num, palo])
    while not pila_vacia(p):
        aux = desapilar(p)
        if aux[1] == "Basto":
            apilar(pb, aux)
        if aux[1] == "Copa":
            apilar(pc, aux)
        if aux[1] == "Oro":
            apilar(po, aux)
        if aux[1] == "Espada":
            apilar(pe, aux)
    print("Mazo de basto")
    barrido(pb)
    print("Mazo de copa")
    barrido(pc)
    print("Mazo de oro")
    barrido(po)
    print("Mazo de espada")
    barrido(pe)
    pe = ordenar_pila(pe)
    print("Mazo de espada ordenados")
    barrido(pe)
コード例 #4
0
def invertir(p):
    pila_aux = Pila()
    print('Pila original: ')
    barrido(p)
    while not pila_vacia(p):
        apilar(pila_aux, desapilar(p))
    print('Pila invertida: ')
    barrido(pila_aux)
コード例 #5
0
def invertir_pila(p):
    c = Cola()
    barrido(p)
    while not pila_vacia(p):
        arribo(c, desapilar(p))
    while not cola_vacia(c):
        apilar(p, atencion(c))
    barrido(p)
コード例 #6
0
def objetos_oficina():
    objetos = [
        "escritorio", "silla", "teclado", "mouse", "monitor", "gabinete"
    ]
    peso = [10.5, 5, 0.800, 0.400, 2.5, 5]
    pila_oficina = Pila()
    for i in range(0, len(objetos)):
        apilar(pila_oficina, [peso[i], objetos[i]])
    pila_ordenada = ordenar_pila(pila_oficina)
    print('Pila ordenada')
    barrido(pila_ordenada)
コード例 #7
0
def pila_pares(p):
    pila_aux = Pila()
    aux = 0
    while not pila_vacia(p):
        aux = desapilar(p)
        if (aux % 2) == 0:
            apilar(pila_aux, aux)
    while not pila_vacia(pila_aux):
        apilar(p, desapilar(pila_aux))
    print('Pila con pares: ')
    barrido(p)
コード例 #8
0
def fibonacci(valor):
    p = Pila()
    p_aux = Pila()
    apilar(p, 0)
    apilar(p, 1)
    for i in range(1, valor):
        f1 = desapilar(p)
        f0 = desapilar(p)
        aux = f1 + f0
        apilar(p, f0)
        apilar(p, f1)
        apilar(p, aux)
    print("Fibonacci de: ", valor)
    barrido(p)
コード例 #9
0
def pares_impares(p):
    pila_pares = Pila()
    pila_impares = Pila()
    while not pila_vacia(p):
        aux = desapilar(p)
        if (aux % 2) == 0:
            apilar(pila_pares, aux)
        else:
            apilar(pila_impares, aux)
    print("Pila de pares:   --INICIO--")
    barrido(pila_pares)
    print("Pila de pares:    --FIN--")
    print("Pila de impares:     --INICIO--")
    barrido(pila_impares)
    print("Pila de impares:      --FIN--")
コード例 #10
0
def restringir_valores():
    p = Pila()
    p_aux = Pila()
    while not pila_llena(p):
        apilar(p, random.randint(0, 800))
    print("Lista de valores: ")
    barrido(p)
    while not pila_vacia(p):
        aux = desapilar(p)
        if (aux % 2 == 0) or (aux % 3 == 0) or (aux % 5 == 0):
            apilar(p_aux, aux)
    while not pila_vacia(p_aux):
        apilar(p, desapilar(p_aux))
    print("")
    print("Lista de valores que son multiplos de 2, 3 o 5")
    barrido(p)
コード例 #11
0
def palabras():
    serie_palabras = [
        "Guitarra", "Fotocopia", "Roedor", "Fecha", "Batir", "Horno",
        "Compartimiento", "Amazona", "Tabaco"
    ]
    p = Pila()
    p_aux = Pila()
    for i in range(0, len(serie_palabras)):
        apilar(p, serie_palabras[i])
    print("Palabras con mas de 7 caracteres")
    while not pila_vacia(p):
        aux = desapilar(p)
        if len(aux) > 7:
            print(aux)
        apilar(p_aux, aux)
    while not pila_vacia(p_aux):
        apilar(p, desapilar(p_aux))
    print("")
    print("Lista de palabras")
    barrido(p)
コード例 #12
0
def robot():
    pila_robot = Pila()
    p_aux = Pila()
    direcciones = [
        "norte", "sur", "este", "oeste", "noreste", "noroeste", "sureste",
        "suroeste"
    ]
    num_al = random.randint(5, 50)
    for i in range(1, num_al):
        apilar(pila_robot, random.choice(direcciones))
    print("Ida")
    barrido(pila_robot)
    while not pila_vacia(pila_robot):
        aux = desapilar(pila_robot)
        if aux == "norte":
            apilar(p_aux, "sur")
        if aux == "sur":
            apilar(p_aux, "norte")
        if aux == "este":
            apilar(p_aux, "oeste")
        if aux == "oeste":
            apilar(p_aux, "este")
        if aux == "norte":
            apilar(p_aux, "sur")
        if aux == "noreste":
            apilar(p_aux, "suroeste")
        if aux == "noroeste":
            apilar(p_aux, "sureste")
        if aux == "sureste":
            apilar(p_aux, "noroeste")
        if aux == "suroeste":
            apilar(p_aux, "noreste")
    while not pila_vacia(p_aux):
        apilar(pila_robot, desapilar(p_aux))
    print("")
    print("vuelta")
    barrido(pila_robot)