Ejercicios: Protocolos de comunicación
Ya es momento de escribir código real. Nada de teoría: activa tu entorno virtual y abre el editor.
Ejercicio 3.1: La tarjeta de presentación
Crea un archivo llamado tarjeta.py. El programa tiene que imprimir tus datos con formato de tarjeta, usando bordes de texto.
- Requisito: Al menos tres llamadas a
print(). - Ejemplo de salida:
########################## # Nombre: Tu Nombre # # Cargo: Aprendiz Python # ##########################
Pista 1: Cada línea de la tarjeta, bordes incluidos, es una llamada independiente a
print(); no intentes meter todo en una sola.Pista 2: Para que los bordes queden alineados, cuenta los caracteres de cada línea del ejemplo; si tu texto es más corto o más largo, ajusta los espacios antes del
#de cierre.
Ejercicio 3.2: El arte del error (provocando fallos)
Crea un archivo error.py. La misión aquí es exactamente la contraria a lo que instintivamente querrás hacer: escribe código que falle. Aprender a leer los mensajes de error es más valioso de lo que parece al principio, y la única forma de internalizarlos es provocarlos tú mismo.
- Intenta imprimir texto sin comillas,
print(Hola). ¿Qué error da? (NameError) - Intenta imprimir sin cerrar el paréntesis,
print("Hola". ¿Qué error da? (SyntaxError) - Escribe el error y su significado como un comentario en el mismo archivo.
Pista 1: Escribe el código exactamente como se muestra (sin corregirlo) y ejecútalo; el mensaje de error que aparece en la terminal es la respuesta, no algo que debas adivinar.
Pista 2: Lee la última línea del traceback: ahí Python nombra el tipo de error (
NameError,SyntaxError) justo antes de la descripción.
Ejercicio 3.3: Indentación correcta
Copia este código roto en un archivo reparar.py y arréglalo para que funcione. El problema es la indentación, esos espacios que Python toma más en serio que la mayoría de los humanos.
# Código roto
print("Iniciando sistema...")
print("Cargando módulos...") # Ups, ¿por qué estoy a la derecha?
if True:
print("Sistema listo") # Yo debería estar adentro del if
Si lo ejecutas tal cual, Python se detiene en la línea 3 con IndentationError: unexpected indent, una sangría que nadie pidió. Arregla esa, vuelve a ejecutar y lee con calma el siguiente error antes de tocar nada más.
Pista 1: Cada línea que pertenece “adentro” de un bloque (después de dos puntos
:) debe tener la misma cantidad de espacios que sus líneas hermanas, ni uno más ni uno menos.Pista 2: La segunda línea no debería estar indentada porque no depende de ningún
if; la línea después deif True:, en cambio, sí necesita indentación porque está adentro de ese bloque.
¡Ojo!: mezclar espacios y tabulaciones, o indentar una línea que no pertenece a ningún bloque. Python no perdona ninguno de los dos casos: usa siempre 4 espacios por nivel (configura tu editor para que la tecla Tab inserte espacios) y solo indenta lo que va después de dos puntos (
:).
Ejercicio 3.4: Comentarios útiles
Escribe un script simple que imprima 3 pasos de una receta de cocina.
- Requisito: Un comentario (
#) encima de cadaprintexplicando qué hace ese paso. Sí, aunque sea obvio. El objetivo es el hábito, no la complejidad.
Pista 1: Piensa en cada paso de la receta como dos líneas que siempre van juntas: una que explica la intención y otra que la ejecuta.
Pista 2: Escribe primero los tres comentarios (el “qué hace” de cada paso) y después llena el
print()debajo de cada uno; así no se te olvida ninguno.
Ejercicio 3.5: Tu primer script interactivo
La función input() muestra una pregunta, espera a que escribas y te devuelve lo que teclaste, siempre como texto. Por ejemplo: nombre = input("¿Cómo te llamas? ").
Con eso, crea un archivo saludo_personal.py que:
- Pregunte tu nombre.
- Espere a que escribas.
- Imprima “Hola, [Tu Nombre]”.
- Reto:
input()se explica a fondo en el Capítulo 4. Aquí basta con usarla.
Pista 1: Son dos líneas: la que pregunta y guarda la respuesta en una variable, y la que imprime el saludo.
Pista 2: Guarda el resultado de
input()en una variable (nombre = input("...")) y pásala después alprint()final, separada del saludo por una coma.
Soluciones: en el Apéndice B está la solución de cada ejercicio. Inténtalo por tu cuenta antes de consultarla.
En el siguiente capítulo empezaremos a crear nuestras propias cajas (variables) y a explorar qué tipos de cosas podemos almacenar en ellas.