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.
defprint_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 pendientepasselse: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 =[]defcreate_client(client_name):if client_name notin 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.