Proyecto gestor de clientes para practicar de todo en Python

Modificando clientes

Para modificar un cliente lo que haremos es recorrer la lista enumerando los valores con índices, así podremos acceder a los diccionarios de los clientes. Una vez tengamos recuperado el cliente a partir de su dni leeremos de nuevo sus campos haciendo lo mismo que en el add:

gestor/manager.py

def edit():

    dni = input("Introduce el DNI del cliente\n> ")

    for i, client in enumerate(clients):

        if client['dni'] == dni:

            print(f"Introduce nuevo nombre ({client['nombre']})")
            clients[i]['nombre'] = helpers.input_text(2, 30)

            print(f"Introduce nuevo apellido ({client['apellido']})")
            clients[i]['apellido'] = helpers.input_text(2, 30)

            return True

    return False

El dni no vamos a permitir modificarlo porque sería un rollo a nivel de validaciones, es mejor borrar el cliente y crearlo de nuevo tal como haremos en la siguiente lección.

Por ahora vamos a añadir esta función a nuestro menú y a probar si funciona:

gestor/menu.py

if option == '4':
    print("Modificando un cliente...\n")
    if manager.edit():
        print("Cliente modificado correctamente\n")