Pensamiento Computacional (090) · Unidad 1 — Algoritmos y programación
Tu primer programa
print() muestra cosas en pantalla. Con eso solo ya se puede escribir un programa, y sobre todo se puede espiar qué está pasando adentro de otro.
La explicación
La instrucción más útil de todas
Eso es un programa completo. print es una función: un bloque de trabajo ya
hecho que vos usás poniendo su nombre y, entre paréntesis, lo que le querés dar.
Lo que va adentro de los paréntesis se llama argumento. Las comillas indican que es texto: sin ellas, Python buscaría una variable con ese nombre y se quejaría.
Varias cosas de una
print("Edad:", 20) → Edad: 20
Separando con comas, print los muestra uno al lado del otro con un espacio en el
medio, y no te obliga a que sean todos del mismo tipo. Eso lo hace mucho más cómodo que
concatenar con +, que exige que todo sea texto.
Comentarios
print("Hola") # también sirve al final de una línea
Todo lo que sigue a un # lo ignora Python. Sirve para explicar por qué hacés
algo, no qué hacés: eso último ya se ve en el código.
print como herramienta de diagnóstico
La indentación no es decoración
En Python, los espacios del principio de una línea definen la estructura. Lo que está
indentado "adentro" de un if o de una función pertenece a ese bloque. En otros
lenguajes eso se hace con llaves; acá, con espacios. Por eso un espacio de más rompe el
programa, y por eso conviene dejar que el editor indente solo.
Los cuatro errores del primer día
Vas a ver estos cuatro muchísimo antes de ver cualquier otro. Lo importante no es evitarlos — es leer la última línea del mensaje, que dice el tipo de error y qué pasó:
NameError: name 'mensaje' is not defined
IndentationError: expected an indented block
TypeError: can only concatenate str (not "int") to str
- SyntaxError — está mal escrito y Python ni siquiera lo pudo leer. Casi siempre es un paréntesis o una comilla sin cerrar. Ojo: señala la línea siguiente, porque hasta ahí venía leyendo bien; el problema está una línea más arriba.
- NameError — usaste un nombre que no existe. O nunca lo definiste, o lo escribiste distinto (
Mensajeno esmensaje), o te faltaron las comillas y Python leyó un texto como si fuera una variable. - IndentationError — abriste un bloque con dos puntos y la línea de abajo no quedó indentada.
- TypeError — la operación no aplica a esos tipos. El caso típico es
"2" + 2.
Escribir un programa que guarde un nombre y una edad, y los muestre en una línea.
edad = 20
print("Hola,", nombre, "- tenés", edad, "años")
Salida: Hola, Ana - tenés 20 años
Por qué con comas y no con +. Si escribieras
print("tenés " + edad) te tiraría error, porque + no sabe
mezclar texto con número. Con comas no hay problema: print se ocupa.
Si quisieras usar + sí o sí, habría que convertir:
Control: fijate los espacios. Con comas, print pone uno solo entre cada
cosa; con + tenés que escribirlos vos adentro de las comillas, y es el olvido
más común (queda tenés20años).
print("tenés " + edad) → TypeError: can only concatenate str…
print("Hola,", nombre → SyntaxError: '(' was never closed
str() que falta, el
paréntesis sin cerrar. Ninguna es un problema de lógica, y por eso conviene aprender a leerlas
rápido en vez de releer el programa entero.
Una variante que vale la pena probar. Si en vez de edad = 20 escribís
edad = input("¿Qué edad tenés? "), el programa sigue funcionando con comas — pero
edad ahora es texto, no número, porque input siempre devuelve
texto. Mientras solo la imprimas no se nota nada; en el momento en que quieras hacer una cuenta
con ella va a hacer falta int(edad). Es el tema de 2.2, y es de lo que más se
tropieza en el primer parcial.
Dónde se cae la mayoría
- Olvidar las comillas en un texto: Python lo toma como nombre de variable y tira NameError.
- Olvidar cerrar el paréntesis o la comilla — el error aparece señalando la línea siguiente, no la que falla.
- Indentar de más o mezclar tabs con espacios: en Python eso cambia el significado del programa.
Hasta acá la explicación. La práctica es la otra mitad: 7 ejercicios de este tema, en cuatro niveles, que no te dicen sólo si está bien al final sino que te corrigen en cada paso y te explican por qué. Además trae una animación que muestra la idea en movimiento.
Practicar Tu primer programa →