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:
print("¡Bienvenido!")print("Este es tu primer programa.")¡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:
python hello.pyEn 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.
Printno es lo mismo queprint, 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")Pedido n.º 1024 está confirmado.Envío: mañanaLas 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
- print(…, end="") imprime «Pedido » y el cursor se queda en la misma línea.
- print(…, end="") imprime «n.º 1024» y el cursor se queda en la misma línea.
- print imprime « está confirmado.» y el cursor pasa a una línea nueva.
- print imprime «Envío: mañana» y el cursor pasa a una línea nueva.
- 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()Después de «8:15» hay print sin end="", por eso «Andén» está en una línea nueva. La última línea, print(), no imprime texto. Solo pasa a una línea nueva.
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 cruasanesCafé 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 almuerzoLa segunda línea entera es un comentario, por eso «Física» no se imprime. En la tercera línea el comentario empieza después de la orden: la orden se ejecuta y la nota que va detrás de # se salta.
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:
print("¡Bienvenido al curso!"print("Empezamos.") File "/home/student/welcome.py", line 1 print("¡Bienvenido al curso!" ^SyntaxError: '(' was never closedAquí 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:
print("¡Bienvenido al curso!")Print("Empezamos.")¡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.
) como parte del texto y llega al final de la línea sin comilla de cierre: SyntaxError: unterminated string literal («texto sin cerrar»). Por eso no sale ni siquiera «Hora: 10:30» de la línea 1. La corrección es print("Aula: 204").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:
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.
María Lópezdesarrolladora webmaria@example.com3. Marco. Imprime el menú de hoy del comedor dentro de un marco de asteriscos. Cuida los espacios para que el lado derecho salga recto.
************** Hoy: sopa ** 5,40 € **************Más tareas
- Una frase en tres partes. Con tres órdenes
print(..., end="")y unaprint, 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
Printcon mayúscula. Lee lo que dice Python cada vez.
Test
Ponte a prueba
Lecciones relacionadas
Sección «Lecciones relacionadas»- Continúa en: Variables y tipos · Entrada y salida · Operadores y aritmética · Condiciones
- Ejercicios sobre el tema: Fundamentos del lenguaje