Personalizar programa Python con interfaz CLI

Clase 12 de 49Curso Práctico de Python: Creación de un CRUD

Resumen

Personaliza tu programa en Python con una interfaz de línea de comandos clara y funcional. Aquí verás cómo definir funciones, imprimir un menú de opciones en inglés, capturar input del usuario y controlar el flujo con condicionales para crear y validar clientes en Platzi Ventas. Todo con buenas prácticas de indentación y mensajes útiles.

¿Cómo construir una bienvenida y menú en Python para una CLI?

Para iniciar, se crea una función auxiliar con el keyword def que imprime un saludo, una línea separadora y un pequeño menú de comandos en inglés. Además, se aprovecha el operador de multiplicación para generar un separador con asteriscos sin repetir caracteres manualmente.

  • Usa una función para encapsular la bienvenida y el menú.
  • Emplea operadores contextuales: '*' para repetir cadenas.
  • Muestra comandos en inglés por práctica profesional.
def print_welcome():
    print('Bienvenidos a Platzi Ventas')
    print('*' * 50)
    print('What would you like to do today?')
    print('[C] Create client')
    print('[D] Delete client')

print_welcome()

¿Qué es una función auxiliar con el keyword def?

Es un bloque reutilizable que nombra una acción específica, como mostrar la bienvenida. Mejora la legibilidad y facilita el mantenimiento.

¿Cómo generar separadores con operadores contextuales?

Multiplica una cadena por un entero para construir líneas: '**' * 50 crea un separador uniforme y ajustable.

¿Por qué los mensajes están en inglés?

Porque el software, la documentación y los programs suelen estar en inglés: es buena práctica profesional. Si se requiere, luego se puede aplicar internacionalización.

¿Cómo capturar input y controlar el flujo con condicionales?

La función input detiene la ejecución hasta recibir datos. Con if/elif/else decides qué acción ejecutar: crear un cliente, dejar un placeholder con pass para borrar, o marcar un comando inválido.

  • input captura datos del usuario.
  • if/elif/else define el flujo según el comando.
  • placeholder con pass reserva la lógica pendiente.
command = input('Enter command: ')

if command == 'C':
    client_name = input('What is the client name? ')
    create_client(client_name)
    list_clients()
elif command == 'D':
    # placeholder: lógica de borrado pendiente
    pass
else:
    print('Invalid command')

¿Cómo validar y añadir a la lista de clientes sin duplicados?

Antes de añadir, verifica si el nombre ya existe en la lista de clientes. Si no está, se agrega; si ya está, informa al usuario. La indentación en Python es crítica: cada bloque bajo if/else debe estar correctamente indentado para evitar errores y mejorar la claridad.

  • Verifica existencia con "in" para evitar duplicados.
  • Añade con append solo si no existe.
  • Informa con un mensaje claro si ya está.
  • Respeta la indentación en cada bloque.
clients = []

def create_client(client_name):
    if client_name not in clients:
        clients.append(client_name)
    else:
        print('El cliente \'{}\' ya está en la lista de clientes.'.format(client_name))

¿Cómo manejar comillas y caracteres de escape?

Si necesitas comillas simples dentro de comillas simples, escápalas con una diagonal invertida: \' permite incluir comillas internas sin romper la cadena.

  • Usa \' para comillas simples dentro de comillas simples.
  • Mantén los mensajes consistentes y comprensibles.
  • Evita duplicar valores en la lista de clientes.

¿Quieres que ampliemos la lógica de borrado o veamos internacionalización con más detalle? Deja tus dudas o mejoras en los comentarios.

      Personalizar programa Python con interfaz CLI