Beispiel #1
0
def caracteres(c):
    c_digitos = Cola()
    c_otros = Cola()
    c_aux = Cola()
    contador = 0
    while not cola_vacia(c):
        aux = atencion(c)
        aux2 = ord(aux)
        if aux2 in range(48, 58):
            arribo(c_digitos, aux)
        else:
            arribo(c_otros, aux)
    while not cola_vacia(c_otros):
        aux = atencion(c_otros)
        aux2 = ord(aux)
        if aux2 in range(65, 91) or aux2 in range(97, 123):
            contador += 1
        arribo(c_aux, aux)
    while not cola_vacia(c_aux):
        arribo(c_otros, atencion(c_aux))
    print("Cola de digitos: ")
    barrido_cola(c_digitos)
    print("Cola de otros caracteres: ")
    barrido_cola(c_otros)
    print("Cantidad de letras en la cola de otros caracteres: ", contador)
Beispiel #2
0
def ordenado_automatico():
    c = Cola()
    c_aux = Cola()
    aux = 0
    elemento = int(input("Ingrese el elemento (-100 para no cargar mas): "))
    while (elemento != -100):
        if cola_llena(c):
            print("No hay mas espacio")
        else:
            if cola_vacia(c):
                arribo(c, elemento)
            else:
                aux = atencion(c)
                if elemento <= aux:
                    while not cola_vacia(c):
                        arribo(c_aux, atencion(c))
                    arribo(c, elemento)
                    arribo(c, aux)
                else:
                    while elemento > aux and not cola_vacia(c):
                        arribo(c_aux, aux)
                        aux = atencion(c)
                    if cola_vacia(c):
                        arribo(c_aux, aux)
                        arribo(c_aux, elemento)
                    else:
                        arribo(c_aux, elemento)
                        arribo(c_aux, aux)
                    while not cola_vacia(c):
                        arribo(c_aux, atencion(c))
                while not cola_vacia(c_aux):
                    arribo(c, atencion(c_aux))
            elemento = int(
                input("Ingrese el elemento (-100 para no cargar mas): "))
    barrido_cola(c)
Beispiel #3
0
def eliminar_no_primos(c):
    c_aux = Cola()
    while not cola_vacia(c):
        valor = atencion(c)
        if identificar_primos(valor):
            print("Es primo")
            arribo(c_aux, valor)
    while not cola_vacia(c_aux):
        arribo(c, atencion(c_aux))
    print("Barrido cola aux")
    barrido_cola(c)
Beispiel #4
0
def vocales(c):
    c_aux = Cola()
    while not cola_vacia(c):
        aux = atencion(c)
        aux.lower()
        if (aux == 'a') or (aux == 'e') or (aux == 'i') or (aux == 'o') or (
                aux == 'u'):
            print('Se elimino una vocal')
        else:
            arribo(c_aux, aux)
    c = c_aux
    barrido_cola(c)
Beispiel #5
0
def invertir(c):
    pila_aux = Pila()
    print('Cola original')
    barrido_cola(c)
    while not cola_vacia(c):
        aux = atencion(c)
        apilar(pila_aux, aux)
    while not pila_vacia(pila_aux):
        aux = desapilar(pila_aux)
        arribo(c, aux)
    print('Cola invertida')
    barrido_cola(c)
Beispiel #6
0
def combinar_colas(c1, c2):
    c = Cola()
    aux1 = atencion(c1)
    aux2 = atencion(c2)
    while not cola_vacia(c1) and not cola_vacia(c2):
        if aux1 <= aux2:
            arribo(c, aux1)
            aux1 = atencion(c1)
        else:
            arribo(c, aux2)
            aux2 = atencion(c2)
    barrido_cola(c)
Beispiel #7
0
def eliminar_lugar(c, lugar):
    c_aux = Cola()
    if lugar <= c.tamanio:
        for i in range(2, lugar):
            arribo(c_aux, atencion(c))
        aux = atencion(c)
        while not cola_vacia(c):
            arribo(c_aux, atencion(c))
        print('')
        barrido_cola(c_aux)
        print('El elemento quiitado fue: ', aux)
    else:
        print('La posicion dada no se encuentra en la cola...')
Beispiel #8
0
def fibonacci(n):
    c = Cola()
    c_aux = Cola()
    arribo(c, 1)
    arribo(c, 0)
    for i in range(1, n):
        aux1 = atencion(c)
        aux2 = atencion(c)
        sum = aux1 + aux2
        while not cola_vacia(c):
            arribo(c_aux, atencion(c))
        arribo(c, sum)
        arribo(c, aux1)
        arribo(c, aux2)
        while not cola_vacia(c_aux):
            arribo(c, atencion(c_aux))
    barrido_cola(c)
Beispiel #9
0
def turnos():
    c_turnos = Cola()
    cola_1 = Cola()
    cola_2 = Cola()
    c_aux = Cola()
    cA, cC, cF, cB, cD, cE = 0, 0, 0, 0, 0, 0
    # carga de turnos
    for i in range(0, 1000):
        lista = ['A', 'B', 'C', 'D', 'E', 'F']
        cadena = random.choice(lista)
        cadena = cadena + random.choice(string.digits)
        cadena = cadena + random.choice(string.digits)
        cadena = cadena + random.choice(string.digits)
        arribo(c_turnos, cadena)
    while not cola_vacia(c_turnos):
        turno = atencion(c_turnos)
        if turno[0] == 'A' or turno[0] == 'C' or turno[0] == 'F':
            arribo(cola_1, turno)
        else:
            arribo(cola_2, turno)
    tc1 = tamanio(cola_1)
    tc2 = tamanio(cola_2)
    print("Cola con turnos 'A'; 'C'; 'F'")
    barrido_cola(cola_1)
    print("Cola con turnos 'B'; 'D'; 'E'")
    barrido_cola(cola_2)
    if tc1 > tc2:
        print("La cola con turnos 'A'; 'C'; 'F'; tiene mas elementos")
        while not cola_vacia(cola_1):
            aux = atencion(cola_1)
            if aux[0] == 'A':
                cA += 1
            elif aux[0] == 'C':
                cC += 1
            else:
                cF += 1
            arribo(c_aux, aux)
        while not cola_vacia(c_aux):
            arribo(cola_1, atencion(c_aux))
        if cA > cC and cA > cF:
            print("Hay mas turnos 'A'")
        elif cC > cA and cC > cF:
            print("Hay mas turnos 'C'")
        else:
            print("Hay mas turnos 'F'")
    else:
        print("La cola con turnos 'B'; 'D'; 'E'; tiene mas elementos")
        while not cola_vacia(cola_2):
            aux = atencion(cola_2)
            if aux[0] == 'B':
                cB += 1
            elif aux[0] == 'D':
                cD += 1
            else:
                cE += 1
            arribo(c_aux, aux)
        while not cola_vacia(c_aux):
            arribo(cola_1, atencion(c_aux))
        if cB > cD and cB > cE:
            print("Hay mas turnos 'B'")
        elif cD > cB and cD > cE:
            print("Hay mas turnos 'D'")
        else:
            print("Hay mas turnos 'E'")