NAV

Introducción

¡Bienvenida a este curso de programación!

Después de haber participado en este curso, esperamos que puedas crear tus primeros programas propios.

El curso empieza de cero, así que no tienes que tener ningún conocimiento antes. Te damos unas indicaciones sobre cómo instalar el sistema alternativo «Linux Mint» en tu computadora para después aprender a usar el lenguaje de programación «Python».

Cuando inició este proyecto, lo vimos como un todo integral. No solo te contara sobre la programación de Python, pero también te diera ejercicios para que pudieras practicarlo. Unos meses después del comienzo, decidimos cambiar el enfoque un poquito, porque ya existían cursos maravillosos. Por eso, este curso de ¡A Programar! se enfoque en darte ejercicios con los que puedes poner en práctica lo que puedes aprender por estos dos cursos siguientes.

Programar en Python por Ekaitz Zárraga

Libro «Programar en Python»

De la página web de Programar en Python:

«Escrito por Ekaitz Zárraga como material para sus cursos de formación, este documento es un manual del lenguaje de programación Python que describe además fundamentos técnicos de la programación general.

[…]

Todos [los libros] han sido publicados bajo los términos de la licencia CC-BY-SA y se han preparado para su publicación en varios formatos: se publican en papel, en formato web y en un archivo de fácil impresión con el fin de que puedan llegar a cualquiera.»

Puedes acceder los libros como PDF imprimible y página web (también hay una versión simple).

En ¡A Programar! vamos a trabajar por la mayoría del tiempo con este libro. Sin embargo, también te queremos ofrecer una alternativa:

Inmersión en Python 3 por Mark Pilgrim

Libro «Inmersión en Python 3»

Escrito por Mark Pilgrim y traducido al español por José Miguel González Aguilera, me gusta este libro por la filosofía descrito en el primer capítulo «Tu primer programa en Python»:

«Los libros sobre programación suelen comenzar con varios capítulos sobre los fundamentos y van, poco a poco, avanzando hasta llegar a hacer programas útiles. Vamos a saltarnos todo eso. Lo primero que vamos a ver es un programa Python completo.»

Puedes acceder los libros del proyecto Git como PDF y página web.

Software Libre

Una cosa muy linda es el software libre. A diferencia del software propietario el software libre te ofrece muchas libertades. Estás libre de usar el software sin tener que pedir permiso de ningún empresa o organización. Tienes la libertad de leer y estudiar el código del software libre y también puedes modificar el software para que te cabe mejor. Si quieres, tienes el derecho de distribuir copias del software. Por último tienes la libertad de mejorar el software y distribuir las versiones mejoradas. El autor de estas líneas básicamente aprendió todo de lo siguiente por participar en comunidades del software libre. Estas comunidades del software libre tienen miembros de todo el mundo y juntos crean los programas accesibles para todas y todos. Del sistema Linux Mint por el editor Geany al lenguaje de programación Python, cada software usado en este curso es software libre.

Amo al software libre

Linux Mint

Linux Mint es un sistema alternativo que te recomendamos para este curso. Está totalmente bien usar Windows con este curso, pero si empiezas de cero y quieres conseguir un trabajo como desarrolladora, puedes empezar a usar Linux Mint en tu computadora, porque se lo usa mucho el Linux en los servidores también.

Hay un guía de instalación de Linux Mint extensiva que tiene todas las informaciones que necesitas. Aquí puedes descargar el sistema. Si no tienes ninguna idea, es la versión «Cinnamon» que quieres descargar. Después de descargar el «imagen de instalación» de formato .iso, lo pones en una memoria USB con herramientas como Etcher o Rufus. Después de arrancar tu computadora de la memoria, puedes seguir las instrucciones de Linux Mint para instalarlo en tu computadora.

Si lograste instalar Linux Mint: ¡felicidades! Es el primer paso importante en la dirección a aprender a programar.

Instalación de Geany

Lo bueno de Linux Mint (y muchos sistemas Linux en general) es que ya lleva todo para empezar a programar python. La única cosa que te recomendamos es instalar el editor «Geany», porque el editor estándar de Linux Mint no tiene muchas funcionalidades. En Linux Mint puedes instalar software de una manera muy fácil con el «Gestor de software». Una alternativa que siempre puedes usar es el terminal. Con el terminal puedes hacer todo lo que te puedes imaginar. Para instalar Geany, abres el terminal y entras: sudo apt install geany

Después de entrarlo al terminal, tienes que presionar la tecla enter. Te va a preguntar el terminal si es geany lo que quieres instalar. Lo puedes aprobar con otra tecla enter.

Vamos a usar el terminal más adelante cuando vamos a correr nuestro primer programa de python.

Python

Python es un lenguaje de programación muy popular en el mundo. Es conocido por ser fácil de aprender y por tener bastante funcionalidad disponible en ambos la «librería» estándar como en las librerías de la comunidad. Cuando aprendes a programar python, no es que siempre tienes que seguir con python. Cuando sabes programar en un lenguaje de programación es muy fácil aprender otro lenguaje.

Pon este comando en un archivo con .py al fin de su nombre.

print("¡Hola!")

El código que ves a la derecha de este texto va a ser tu primer propio programa (si lo lees en un celular, el código está por encima de aquí). Es un programa muy fácil que hace una cosa: imprimir el texto «¡Hola!».

Como dice por encima del código, tienes que poner esta línea de código en un archivo de texto. Lo puedes crear con el editor Geany. En Geany solo entras el código y lo guardas todo en un archivo como por ejemplo hola.py. Lo importante es que lleva el .py al fin para que puedes reconocer que es un programa python.

Ahora tienes dos opciones: puedes correr el programa directamente en Geany o lo corres en el terminal.

Para correrlo en Geany, solo tienes que presionar la tecla F5. Si te sale una error, tal vez tienes que modificar la configuración de Geany para poder usar el F5.

También te vamos a mostrar cómo correr el programa en el terminal. En el futuro vamos a dejar solo las informaciones para el terminal, porque es más universal. Para empezar tienes que abrir el administrador de archivos. Navegas a donde guardaste el archivo y allí das un clic del ratón de la derecha en el area blanca. En el menú puedes dar clic en «Abrir en el terminal».

Cuando lo tienes abierto, es muy fácil correr el programa lo que acabas de guardar. Todo lo que tienes que hacer es entrar python3 hello.py (o el nombre de tu archivo) y tocar la tecla enter. Te debería salir el «¡Hola!» debajo de la primera línea.

Fundamentos

Imprimir un texto al terminal es la primera cosa que se hace con muchos lenguajes de programación. Pero, ¿qué haces si quieres entrar algo al terminal? Para esto existe la función input que te permite introducir texto al programa.

Pon este programa pequeño en un archivo con .py al fin de su nombre.

nombre = input("Hola, ¿cómo te llamas?")
print(f"¡Hola, {nombre}!")

El programa a la derecha es una modificación muy pequeña de tu primer programa. ¿Ves la diferencia? Ya no dice solamente «¡Hola!», pero después de introducir tu nombre y presionar la tecla enter, dice por ejemplo «¡Hola, Nico!». Vamos a analizar lo que pasa aquí.

En la primera línea del código encuentras tu primer uso del operador = que introduce una referencia que se llama nombre al programa. Puedes encontrar más informaciones sobre qué es el operador = y cómo lo funciona con las referencias en la sección «Nombrando datos» del capítulo «Trabajando con datos». Lo importante es saber que el texto que introduces al terminal lo puedes acceder en tu programa por la referencia nombre. Lo que te da la funciona input lo pones en una variable con el operador =.

La segunda línea del código también lleva algo nuevo para ti. En vez de imprimir «¡Hola!» la funciona print ahora usa la referencia nombre para imprimir por ejemplo «¡Hola, Nico!». Para poder usar la referencia en el String, tienes que poner una «f» (de «formateado») ante las comillas. Puedes encontrar una explicación del tipo String en la sección «Tipos». La «f» ante las comillas te permite poner código entre las llaves {…}.

El condicional if

Aumentamos un poquito la complejidad del programa. Con la ayuda del condicional if (ver la sección «Condicionales») puedes controlar lo que pasa en tu programa dependiendo de sus condiciones.

nombre1 = input("Hola, ¿cómo te llamas?")
edad1_input = input("¿Cuántos años tienes?")

nombre2 = input("Hola, ¿cómo te llamas tú?")
edad2_input = input("¿Cuántos años tienes?")

edad1 = int(edad1_input)
edad2 = int(edad2_input)

if edad1 > edad2:
	print(f"{nombre1} tiene más años que {nombre2}")
else:
	print(f"{nombre2} tiene más años que {nombre1}")

Antes de seguir leyendo estas explicaciones, intenta entender el código a tu misma.

Como en el programa anterior, usamos referencias, las funcionas input y print y el operador =. Lo nuevo ahora es la función int y el condicional if con su compañero else. Para poder usar el condicional tenemos que dar una prueba de verdad (de la sección «Operadores»). En nuestro caso queremos comparar las edades de las dos personas. Lo podemos hacer con facilidad con edad1 > edad2.

Pero, ¿qué pasa con edad1_input y edad2_input? ¿Por qué no podemos usar estas referencias directamente en el if?

La respuesta a estas preguntas es que la función input siempre te da un String. Sin embargo las edades son números enteros que quieres comparar. Para números enteros existe el tipo Integer. Con la función int puedes convertir el String a un Integer (ver la sección «Conversión» para más detalles).

Ejercicio

Hola, ¿cómo te llamas? Sofía
¿Cuántos años tienes? 24
¿Cuántos hermanos tienes? 3
Hola, ¿cómo te llamas? Juan
¿Cuántos años tienes? 26
¿Cuántos hermanos tienes? 2
Juan tiene más años que Sofía, pero Sofía tiene más hermanos que Juan.

Es hora de tu primer programa propio. Basado en el programa anterior, te pedimos que programes algo en python que no solo pregunta cuántos años tienen las dos personas, pero también cuántos hermanos tienen. A la derecha puedes ver un ejemplo del terminal.

Hay muchas opciones diferentes de hacer este programa. Por ejemplo, puedes hacer un if [...] else dentro de un if, o puedes hacer un if para cada posibilidad. Tú eliges cómo lo quieres hacer.

Repetición y listas

¿Te has dado cuenta que en el ejemplo anterior tenemos código duplicado? La lógica para una persona es exactamente la misma que para la otra. Podemos abstraer esta lógica con la ayuda de bucles.

nombres = list()
for i in [0, 1, 2]:
	nombre = input("Introduce un nombre, por favor: ")
	nombres.append(nombre)
for i in [0, 1, 2]:
	print(f"¡Hola, {nombres[i]}!")

Siempre cuando tienes algo que se repita en tu código puedes usar los bucles for o while (ver la sección «Bucles» en el libro de ElenQ). A la derecha puedes ver un ejemplo de código que recoge nombres en la lista nombres. ¿Qué piensas hace el código y cuántos nombres recoge?

Son tres veces que el programa te pide introducir nombres al terminal. Es por esta línea de código: for i in [0, 1, 2]. Esto significa que el código en el bloque debajo del for está ejecutado una vez con i = 0, otra vez con i = 1 y al final con i = 2. Cada vez te pregunta por un nombre y después lo agrega (en inglés «append») a la lista de nombres.

En el segundo bucle el código hace nada más que imprimir los nombres al terminal. Otra vez tenemos valores de i con 1, 2 y 3 y los usamos para recibir los nombres de la lista. El código nombres[0] te da el nombre en la posición 0 de la lista nombre.

Ejercicio

Introduce un nombre, por favor: Sofía
¿Cuántos años tiene? 24
¿Cuántos hermanos tiene? 3
Introduce un nombre, por favor: Juan
¿Cuántos años tiene? 26
¿Cuántos hermanos tiene? 2
Introduce un nombre, por favor: Pablo
¿Cuántos años tiene? 25
¿Cuántos hermanos tiene? 1

Ahora te toca a ti. Por favor, programe algo que no solo recoge nombres de personas, sino también sus edades y cantidades de hermanos. Es muy similar al programa anterior, pero esta vez usarás bucles y listas para recoger una cantidad flexible de personas e informaciones. Puedes ver un ejemplo a la derecha con tres personas.

Si necesitas una indicación para el comienzo: empezaríamos con el código de arriba, pero antes del bucle de imprimir pones otro código que por ejemplo empiezo con crear una nueva lista edades.