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