Ir al contenido
wannacode

Tu primer programa

En resumen: Un programa es una serie de órdenes que se ejecutan de arriba abajo: en Python print imprime texto, # empieza un comentario y el archivo se ejecuta con python.

Problema

La computadora hace exactamente lo que dice

La computadora no adivina lo que quieres. Ejecuta órdenes, una tras otra, exactamente como están escritas. Una secuencia de órdenes así es un programa.

Aquí tienes un programa entero. Imprime dos líneas en la pantalla:

hello.py
print("¡Bienvenido!")
print("Este es tu primer programa.")
Salida
¡Bienvenido!
Este es tu primer programa.

Este es el programa entero: dos líneas, una orden por línea. No hay ningún envoltorio alrededor. Las guardas en un archivo llamado hello.py y lo ejecutas.

La idea

Qué hay en el programa

  • El programa es el propio archivo. Python ejecuta sus líneas de arriba abajo, de la primera a la última.
  • print(...) imprime el texto que está entre los paréntesis y pasa a una línea nueva.
  • El texto va entre comillas dobles: "¡Bienvenido!". Las comillas no se imprimen.
  • Cada orden va en su propia línea. No hace falta ningún carácter al final de la línea.
  • La línea empieza justo al principio, sin espacios delante. En Python los espacios al principio de la línea importan. Los usaremos en la lección sobre condiciones.

El programa se ejecuta desde el terminal, en la carpeta del archivo:

Terminal
python hello.py

En macOS y Linux la orden suele ser python3. Python lee el archivo y ejecuta las órdenes que contiene. No hay un paso aparte en el que el código se traduzca antes: escribes y ejecutas.

Más precisamente, para curiosos
  • Las mayúsculas y las minúsculas importan. Print no es lo mismo que print, y el programa se detiene con un error cuando llega a esa línea.
  • El texto también puede ir entre comillas simples: print('¡Bienvenido!') imprime lo mismo. En este curso escribimos comillas dobles.
  • En el código de otras personas verás abajo del todo una línea if __name__ == "__main__":. Sirve para archivos que también se usan como parte de otros programas. Por ahora no la necesitas.
  • Python no está solo en el terminal. También hay editores que ejecutan el archivo con un botón, pero por debajo hacen lo mismo: python hello.py.

La idea

Imprimir con y sin salto de línea

A veces quieres varios trozos de texto en una misma línea. Entonces le dices a print con qué terminar: end="" significa «con nada». El texto se imprime y el cursor se queda en la misma línea.

print("Pedido ", end="")
print("n.º 1024", end="")
print(" está confirmado.")
print("Envío: mañana")
Salida
Pedido n.º 1024 está confirmado.
Envío: mañana

Las dos primeras líneas del código usan end="", por eso «Pedido», «n.º 1024» y «está confirmado.» salen juntos. Después de print sin end="" el texto siguiente empieza en una línea nueva.

Fíjate en los espacios. Están dentro de las comillas, porque la computadora no pone un espacio por su cuenta.

Sigue el cursor: el texto sale siempre donde está él.

print("Pedido ", end="")
print("n.º 1024", end="")
print(" está confirmado.")
print("Envío: mañana")
Paso a paso, en palabras
  1. print(…, end="") imprime «Pedido » y el cursor se queda en la misma línea.
  2. print(…, end="") imprime «n.º 1024» y el cursor se queda en la misma línea.
  3. print imprime « está confirmado.» y el cursor pasa a una línea nueva.
  4. print imprime «Envío: mañana» y el cursor pasa a una línea nueva.
  5. Los espacios están dentro de las comillas: la computadora no pone un espacio por su cuenta.

Pruébalo

¿En cuántas líneas?

¿Qué imprimirá el programa?

print("Tren ", end="")
print("8:15")
print("Andén ", end="")
print("3", end="")
print()
Respuesta

La idea

Comentarios: notas para las personas

A veces quieres dejar una nota en el código: por qué está así o qué viene después. La escribes como un comentario. La computadora se salta los comentarios.

  • # empieza un comentario que llega hasta el final de la línea.
  • Un comentario de varias líneas son varias líneas, cada una con #.
# El recibo de la cafetería.
# Los precios están en euros.
print("Café 2,50 €")
# print("Cruasán 1,80 €")
print("Total 2,50 €") # no quedan cruasanes
Salida
Café 2,50 €
Total 2,50 €

La línea del cruasán es código, pero está detrás de #, así que no se ejecuta. Así desactivas una línea por un tiempo sin borrarla.

Un buen comentario dice por qué, no qué. El propio código muestra lo que hace.

Más precisamente, para curiosos

En el código de otras personas verás texto entre comillas triples, """…""", en varias líneas. No es un comentario. Es un texto con el que el programa no hace nada. Se usa para describir funciones. Para las notas, escribe #.

Pruébalo

¿Qué saldrá?

¿Qué imprimirá el programa?

print("9:00 Matemáticas")
# print("10:00 Física")
print("11:00 Historia") # luego, el almuerzo
Respuesta

Problema

El programa no arranca

Has escrito el programa, lo ejecutas y ni siquiera empieza. No sale ni una sola línea. En lugar de la salida recibes un mensaje:

welcome.py
print("¡Bienvenido al curso!"
print("Empezamos.")
Mensaje de Python
File "/home/student/welcome.py", line 1
print("¡Bienvenido al curso!"
^
SyntaxError: '(' was never closed

Aquí falta el paréntesis de cierre en la primera línea. Antes de ejecutar la primera línea, Python lee todo el archivo y comprueba que esté escrito según las reglas del lenguaje. Si no lo está, se detiene y no ejecuta nada, ni siquiera las líneas que van antes del error. Esto se llama error de sintaxis (SyntaxError).

La idea

Cómo leer el mensaje

El mensaje te dice tres cosas: el archivo, la línea y qué está mal.

File "/home/student/welcome.py", line 1 significa el archivo welcome.py (con la ruta completa), línea 1. Debajo está la propia línea, y el ^ señala el lugar donde Python notó el problema. La última línea es la más importante: el tipo de error y qué está mal. '(' was never closed significa «el ( no se cerró».

También hay un segundo tipo de error. El programa arranca, ejecuta las líneas una tras otra y se detiene solo en la línea que no puede ejecutar:

welcome.py
print("¡Bienvenido al curso!")
Print("Empezamos.")
Salida y mensaje
¡Bienvenido al curso!
Traceback (most recent call last):
File "/home/student/welcome.py", line 2, in <module>
Print("Empezamos.")
^^^^^
NameError: name 'Print' is not defined. Did you mean: 'print'?
Print con mayúscula es un nombre que Python no conoce (NameError). Solo se entera cuando llega a esa línea, por eso la primera línea ya se ha impreso. Otra vez indica el archivo y la línea, y abajo del todo está el tipo de error. Did you mean: 'print'? es una pista: «¿Querías decir print?».

Los errores más comunes al principio:

  • una comilla o un paréntesis se abre, pero no se cierra (SyntaxError);
  • espacios al principio de una línea (IndentationError: unexpected indent);
  • una mayúscula en lugar de una minúscula: Print (NameError, cuando el programa llega a la línea).

Python muestra solo un error de sintaxis cada vez. Lo corriges, ejecutas otra vez y solo entonces ves el siguiente, si lo hay.

Más precisamente, para curiosos
  • Python te dice dónde notó el problema. A veces el error está un poco más arriba.
  • También hay errores que nadie detecta: el programa arranca, pero hace otra cosa distinta de la que quieres. Los cazaremos en casi todas las lecciones.

Pruébalo

Encuentra el error

El programa debe imprimir el horario del examen. No arranca: ni siquiera sale la primera línea. ¿En qué línea está el error?

Elige la línea con el error.

Ejercicio

Tus primeros programas

Resuelve las tareas en tu editor. Cada una es un programa aparte. Compara tu salida con la del ejemplo, carácter por carácter.

1. Hello World. El primer programa tradicional. Imprime:

Salida
Hello, World!

2. Tarjeta de visita. Imprime una tarjeta de visita de tres líneas: nombre, profesión y correo electrónico. Puedes usar los tuyos.

Salida de ejemplo
María López
desarrolladora web
maria@example.com

3. Marco. Imprime el menú de hoy del comedor dentro de un marco de asteriscos. Cuida los espacios para que el lado derecho salga recto.

Salida
*************
* Hoy: sopa *
* 5,40 € *
*************

Más tareas

  • Una frase en tres partes. Con tres órdenes print(..., end="") y una print, imprime en una sola línea «La tienda abre de 9:00 a 19:00.»
  • Un horario con un comentario. Imprime un horario de cuatro clases. Después desactiva la tercera línea con #, sin borrarla, y añade un comentario que diga por qué.
  • Un error a propósito. Quita el paréntesis de cierre de una línea de la tarea 1, luego quita una comilla y luego escribe Print con mayúscula. Lee lo que dice Python cada vez.

Test

Ponte a prueba

1. ¿Dónde empieza a ejecutarse el programa?
2. ¿Qué diferencia hay entre print("a", end="") y print("a")?
3. ¿Qué hace la computadora con un comentario?
4. Python informa de un SyntaxError en la línea 3. ¿Qué significa?
5. ¿Qué línea imprimirá Hola?

Creado por Ivo Gergov como parte de la campaña de Evo Tech por una educación accesible en programación ·