DirtyCheese02 / actividades-programacion

Todas las actividades de programacion
0 stars 0 forks source link

Certamen 2 #5

Open DirtyCheese02 opened 12 months ago

DirtyCheese02 commented 12 months ago

while True:

### Libros
with open("ejemplo.txt", "w") as x:
    x.write("1,La casa de los espiritus, Isabel, 1982,\n")
    x.write("2,Rasengan, Pepe, 2000,\n") #### el \n cuidaao

def cargar_catalogo(archivo):
    with open(archivo, "r") as catalogo:
        lista = []
        for x in catalogo:
            split = x.split(",")
            tupla = (split[0], split[1], split[2], split[3])
            lista.append(tupla)
        return(lista)

def agregar_libro(catalogo, libro):
    with open(catalogo, "r") as x:
        lineas = 1 
        for i in x:
            lineas += 1
    with open(catalogo, "a") as x:
        x.write(f"{lineas},{libro[0]},{libro[1]},{libro[2]}")

def eliminar_libro(catalogo, libro_id):
    with open(catalogo, "r") as r_archivo:
        d = r_archivo.readlines()
        with open(catalogo, "w") as w_archivo:
            for x in d:
                if x[0] != str(libro_id):
                    w_archivo.write(x)

agregar_libro("ejemplo.txt",("Tommy","Nathan","1000"))
eliminar_libro("ejemplo.txt",2)
print(cargar_catalogo("ejemplo.txt"))

### Prestamos
with open("prestamos.txt", "w") as x:
    x.write("1, 23, 43, 1\n")
    x.write("2, 3, 2\n") ### Areggla los \n

def cargar_prestamos(archivo):
    a = dict()
    with open(archivo, "r") as x:
        for i in x:
            i = i
            separazao = i.split(",")
            indice = separazao[0]
            separazao.pop(0)
            a.update({indice:separazao})
    return a

def registrar_prestamo(prestamo, usuario_id, libro_id):  ###### revisalo
    with open(prestamo, "r") as x:
        d = x.readlines()
        lineas = 1 
        for i in x:
            lineas += 1
            if x[0] == usuario_id:
                d[lineas] = x + f",{libro_id}"
                with open(prestamo, "w") as t:
                    t.write(d)

registrar_prestamo("prestamos.txt", "2", "99")
print(cargar_prestamos("prestamos.txt"))

opcion = input("""Ingrese que quiere hacer:

1) Agregar y remover libros 2) Registrar prestamos 3) Buscar libros 4) Mostrar todos los prestamos 5) Salir""")

if opcion == "1":
    print("a")
elif opcion == "2":
    print("a")
elif opcion == "3":
    print("a")
elif opcion == "4":
    print("a")
elif opcion == "5": break
DirtyCheese02 commented 12 months ago

while True:

### Libros      
def cargar_catalogo(archivo):
    with open(archivo, "r") as catalogo:
        lista = []
        for x in catalogo:
            x = x.strip()
            split = x.split(",")
            tupla = (split[0], split[1], split[2], split[3])
            lista.append(tupla)
        return(lista)

def agregar_libro(catalogo, libro):
    with open(catalogo, "r") as x:
        texto = x.readlines()
        indices = []
        for i in texto:
            indices.append(int(i[0]))

    with open(catalogo, "w") as x:
        indice = 1
        while indice in indices:
            indice += 1
        texto.insert(indice-1,f"{indice},{libro[0]},{libro[1]},{libro[2]}\n")
        x.writelines(texto)

def eliminar_libro(catalogo, libro_id):      ###### !!!!!!!No me acuerdo revisarlo woof!!!!!!
    with open(catalogo, "r") as x:
        texto = x.readlines()
        indices = []
        for i in texto:
            indices.append(int(i[0]))
        if libro_id not in indices:
            return(False)

    with open(catalogo, "w") as w_archivo:
        for x in texto:
            if x[0] == str(libro_id):
                texto.remove(x)
        w_archivo.writelines(texto)
    return(True)

### Prestamos
def cargar_prestamos(archivo):
    a = dict()
    with open(archivo, "r") as x:
        for i in x:
            i = i.strip()
            separazao = i.split(",")
            indice = separazao[0]
            separazao.pop(0)
            a[indice] = separazao
    return a

def registrar_prestamo(prestamo, usuario_id, libro_id):
    with open(prestamo, "r") as x:
        ids = []
        libros_ids = []
        texto = x.readlines()
        indice = 1
        for i in texto:
            ids.append(int(i[0]))
            libros = i.split(",")
            for p in libros:
                libros_ids.append(int(p))

        if libro_id not in libros_ids:
            if usuario_id not in ids:
                print("yes")
                while indice in ids:
                    indice += 1
                texto.insert(indice-1,f"{usuario_id}, {libro_id}\n")

            elif usuario_id in ids:
                print("no")
                print(texto)
                texto[ids.index(usuario_id)] = f"{texto[ids.index(usuario_id)].strip()}, {libro_id}\n"
                print(texto)
        else: return(False)

    with open(prestamo, "w") as x:
        x.writelines(texto)
    return(True)

def registrar_devolucion(prestamo, usuario_id, libro_id):        ### Creo que funciona bien, tal vez rework!!
    with open(prestamo, "r") as x:
        usuario_ids = []
        texto = x.readlines()
        for i in texto:
            usuario_ids.append(int(i[0]))

        for i in texto:
            libro_ids = []
            if usuario_id in usuario_ids:
                libros = i.split(",")
                libros.pop(0)
                for p in libros:
                    libro_ids.append(int(p))

                if int(i[0]) == usuario_id and libro_id in libro_ids:
                    print("Todo Correctooo!!!!")
                    if len(i.split(",")) == 2:
                        texto.pop(texto.index(i))
                    else:
                        texto[texto.index(i)] = texto[texto.index(i)].replace(f", {libro_id}", "")

                else: print("EL libro id no esta en el usuario id")
            else: print("EL usuario no esta en las devoluciones")

    with open(prestamo, "w") as x:
        x.writelines(texto)

opcion = input("""Ingrese que quiere hacer:

1.Agregar y remover libros 2.Registrar prestamos 3.Buscar libros 4.Mostrar todos los prestamos 5.Salir """)

if opcion == "1":
    print("a")
elif opcion == "2":
    print("a")
elif opcion == "3":
    print("a")
elif opcion == "4":
    print("a")
elif opcion == "5": break