Tiza Las materias del CBC
Practicar →

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.

Practicar este tema →7 ejercicios que te corrigen paso a paso · gratis, sin cuenta

La explicación

La instrucción más útil de todas

print("¡Hola, mundo!")

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("Hola", "mundo")   →  Hola mundo
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

# esto no se ejecuta, es para el que lee
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

Esto te va a salvar todo el cuatrimestre. Cuando un programa no hace lo que esperás, la forma más directa de averiguar por qué es meter prints en el medio para ver qué valen las variables en ese punto. No es hacer trampa: es exactamente lo que hace la traza que vas a ver en las animaciones de esta materia.

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ó:

SyntaxError: '(' was never closed
NameError: name 'mensaje' is not defined
IndentationError: expected an indented block
TypeError: can only concatenate str (not "int") to str
La diferencia que conviene tener clara desde el principio: el SyntaxError aparece antes de que el programa arranque, así que no se ejecuta ni la primera línea. Los otros tres aparecen mientras corre, así que todo lo que estaba antes ya pasó y ya imprimió. Si ves parte de la salida y después un error, el problema está en esa línea, no en las anteriores.
Ejemplo resuelto

Escribir un programa que guarde un nombre y una edad, y los muestre en una línea.

nombre = "Ana"
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:

print("tenés " + str(edad) + " años")

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).

Las tres formas de romperlo, y qué dice cada una.
print("Hola,", Nombre)     → NameError: name 'Nombre' is not defined
print("tenés " + edad)     → TypeError: can only concatenate str…
print("Hola,", nombre        → SyntaxError: '(' was never closed
Las tres tienen arreglo mecánico: la mayúscula de más, el 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

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 →

Ver todos los temas de Pensamiento Computacional