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.