Programación para todos: Python parte 3

in #cervantes7 years ago

Ya hicimos nuestro primer programa ejecutable, creamos el “Súper gestor de tareas 2000” exitósamente, y ahora, ¡ tenemos nuestro propio programa para organizar nuestra tareas!.

Pero, varias cosas hicieron falta: almacenar la lista de tareas para su posterior uso y , muy importante, escribir el programa en nuestra propia máquina. En esta ocasión llevaremos a cabo esas tareas, para así, ¡tener nuestro primer programa en nuestra propia computadora!. Este artículo corresponde a la octava entrega de una serie, si quieres entender desde lo más básico el mundo de la informática y la programación, lee los siguientes artículos en orden:

  1. Informática
  2. Computadoras
  3. Programas
  4. Algoritmos
  5. Pseudocódigo
  6. Python
  7. Python: parte 2

Instalación


En esta entrega veremos cómo utilizar Python en el sistema operativo Windows. Para ello, necesitamos instalar Python en nuestra máquina, iremos a este sitio y descargaremos la última versión (hasta el momento 3.6.5).


Imagen propia

Una vez haya terminado la descarga, abriremos el archivo ejecutable python-3.6.5.exe y procederemos con la instalación. Solo debemos dar click en los botones aceptar y siguiente propios de una instalación, sin modificar nada.


Imagen Propia

Entorno de desarrollo


Necesitamos un buen editor de texto para poder escribir y manejar ordenadamente nuestros códigos. El editor seleccionado por nosotros en windows corresponde a Visual Studio Code, iremos a <a href=este sitio y lo descargaremos.


Imagen Propia

Abriremos el archivo ejecutable descargado y procederemos con la instalación sin hacer ninguna modificación.


Imagen Propia

¡Hagamos nuestro programa!


Primero, crearemos una carpeta vacía, dónde estimemos conveniente, con el nombre de nuestro proyecto; le hemos puesto "Organizador de tareas". Haremos doble click en la carpeta y, una vez dentro, presionaremos el click derecho para abrir el menú contextual. Seleccionen la opción "Open with Code".


Imagen Propia

Se abrirá nuestro editor de texto recién instalado. Necesitamos crear el archivo donde escribiremos el código de nuestro programa. Para ello, en la sección inicio que podemos ver en la ventana desplegada, haremos click en "Nuevo archivo". Arriba aparecerá una ventana de advertencia, solo debemos presionar "Cerrar" para cerrarla.


Imagen Propia

En la entrega anterior ya teníamos un código bastante avanzado. Copiaremos aquel código en el archivo recientemente creado. Posteriormente, guardaremos el archivo presionando la combinación de teclas ctrl+s , le pondremos el nombre main.py. Una vez guardado deberíamos tener el siguiente código:


Imagen Propia

¡Bien!, ya vamos muy avanzados, solo falta agregar algunos detalles para que funcione bien en nuestro equipo, y almacenar los datos.

Primero, necesitamos añadir una pequeña línea al inicio de nuestro código. Ésta informa a la computadora que estamos utilizando python, además de la versión de éste. La línea es la siguiente:


#! python3

Ahora, añadiremos la capacidad al programa de almacenar la lista de tareas en un archivo externo, para así guardar los datos para un posterior uso. Para esto, primero crearemos un archivo de texto dentro de la carpeta del proyecto, lo llamaremos "actividades.txt". En este archivo escribiremos, una debajo de la otra, las tareas que inicialmente estaban en el arreglo toDo:


Lavar
Barrer

Limpiemos el arreglo toDo, y dejémoslo vacío. ¿Por qué?, pues, porque posteriormente, el arreglo toDo almacenará los datos en el archivo actividades.txt.


toDo=[]

¡Leamos nuestro archivo!, para ello, debemos abrirlo y asignarlo a una variable.


actividades_file = open('actividades.txt')

Ahora, añadiremos al arreglo los valores almacenados en actividades.txt:


for linea in actividades_file.readlines():
    toDo.append(linea)

¿Qué estamos diciendo aquí?, estamos leyendo línea por línea el archivo, y el valor de cada línea se añade al arreglo toDo. En otras palabras: "para cada línea en actividades_file, leer la línea. Añadir el valor de la línea en el arreglo toDo".

Una vez utilizamos el archivo, debemos cerrarlo:


actividades_file.close() 

¡Muy bien!, ya asignamos los valores iniciales del arreglo toDo según los datos en actividades.txt. Ahora, sólo queda modificar los valores en actividades.txt según lo que hagamos con el programa. Primero, veremos la opción 2, es decir, la capacidad de eliminar elementos del archivo. Para ello, vamos a la parte del código asociada con la opción dos, la cual era originalmente de la siguiente manera:


elif (option=="2"): #Eliminamos los elementos del arreglo ingresados por el usuario
        mark=''
        while (mark != "volver"):
            mark=input("¿Qué tarea completó? (escriba 'volver' para volver)")
            if(mark != "volver"):
                toDo.remove(mark)

Modificando esta sección obtenemos:


 elif (option=="2"): #Eliminamos los elementos del arreglo ingresados por el usuario
        mark=''
        actividades_file=open("actividades.txt","w") #Vacío el archivo
        actividades_file.write("")
        actividades_file.close()
        while (mark != "volver"):
            mark=input("¿Qué tarea completó? (escriba 'volver' para volver)")
            if(mark != "volver"):
                toDo.remove(mark+"\n")
        actividades_file=open("actividades.txt","a")
        for i in toDo: #reescribo todas las tareas de la lista toDo
            actividades_file.write(i)

Uff, añadimos bastante ¿no?, analicemos paso a paso: Primero, abrimos nuevamente el archivo, pero esta vez en modo w, el cual es para escribir en un archivo, pero eliminando su contenido anterior. Esto lo hicimos para borrar el contenido que tenía el archivo anteriormente, dejándolo vacío. Posteriormente, abrimos nuevamente el archivo, pero esta vez en modo a, cada vez que escriba en el archivo se hará al final de éste, sin eliminar el contenido anterior. De este modo , una vez que eliminamos los elementos deseados del arreglo toDo, reescribimos desde cero el archivo actividades.txt, sin los elementos eliminados.

Podemos ver un símbolo bastante particular: \n. Éste es utilizado para marcar salto de línea en el archivo de texto, y así los elementos del arreglo toDo son añadidos uno debajo del otro.

Solo falta implementar la opción 3, añadir los elementos que tecleamos al arreglotoDo y al archivo de texto. Originalmente teníamos lo siguiente:


 elif (option=="3"): #Añadimos al arreglo los elementos ingresados por el usuario
        app=''
        while (app != "volver"):  
            if (app != "volver"):
                toDo.append(app)

Para añadir los elementos al archivo necesitamos escribir lo siguiente:


elif (option=="3"): #Añadimos al arreglo los elementos ingresados por el usuario
        app=''
        actividades_file=open("actividades.txt","a")
        while (app != "volver"):
            app=input("¿Qué tarea desea agregar? (escriba 'volver' para volver)")            
            if (app != "volver"):
                toDo.append(app+"\n")
                actividades_file.write(app+"\n")          
actividades_file.close() 

Esta instrucción es un poco más simple. Primero, se abre el archivo en modo a, y posteriormente, cada vez que se añade un elemento a la lista toDo, también se añade una línea al archivo de texto con el valor ingresado. Al finalizar de escribir en el archivo, debemos cerrarlo con el método .close()

¡Listo!, eso es todo lo que necesitamos, nuestro código debió quedar de la siguiente manera:


Imagen Propia

¡A probarlo!


Guardemos nuestro código presionando ctrl+s. Cerrémoslo, y ahora, sólo hace falta una cosa, ¡hacer doble click en nuestro programa!, es decir, en el archivo main.py. Es probable que la primera vez la computadora te pregunte con qué deseas abrir el archivo, solo hay que especificar que se abre con python. Al ejecutar el programa obtenemos lo siguiente:


Imagen Propia

¡Funciona!, como no hemos especificado ninguna interfaz gráfica, Windows utiliza la más básica y simple de todas, una terminal. Podemos utilizar nuestro programa haciendo doble click en él y además almacenar valores en el archivo de texto, para así poder abrir y cerrar el programa sin perder los cambios en nuestra lista de tareas.

Si lo deseamos, podemos crear un acceso directo en el escritorio, y ponerle algún nombre e ícono:


Imagen Propia

Materiales


Si quieres profundizar en el estudio de todo lo que vimos y utilizamos hoy, puedes seguir los siguientes enlaces:

Hemos logrado grandes cosas


Ha sido un muy largo camino. Comenzamos sin conocer este nuevo mundo de la informática y la programación. Aprendimos poco a poco la historia y las bases de estas disciplinas, hasta que alcanzamos este punto: creamos nuestro propio programa.

Con esta experiencia podemos aprender una gran lección: cualquier disciplina, aprendizaje u objetivo puede ser alcanzado con estudio, investigación, constancia y perseverancia.

Ya hemos terminado esta larga pero emocionante aventura. Hemos llegado a nuestro destino, con una mochila cargada de aprendizaje para el futuro. Nos vemos el próximo miércoles para despedir este viaje, pero también, ¡para dar la bienvenida a nuevos desafíos!.

Un fuerte y afectuoso abrazo a la comunidad, ¡nos vemos!

Equipo de desarrollo Cervantes

Por @vhinojosa

Sort:  

Felicidades a este gran equipo de desarrolladores por este gran trabajo.

What's the English translation for you article? I would to know what's it is about, however there is a language barrier.

Realmente Interesante, le echaré una ojeada... Felicidades, equipo Cervantes. (Y)

La verdad, para mí ha sido de muchísima ayuda estar presente en cada clase, como buena alumna apunté en mi agenda todas las explicaciones; ahora, me toca ponerlas en práctica sin dañar el ordenador. jajajá!
Me queda un extenso camino por aprender, ya que debo reconocer que así como a muchos se les dificulta el aprendizaje de un idioma, a mí me pasa con el mundo cibernético, pero la manera como explicaron cada lección fué super entendible.
Aquí estaré el próximo miércoles, para el nuevo desafío.
Mil gracias por llenar de conocimientos mi mochila! @cervantes

Loading...

Coin Marketplace

STEEM 0.20
TRX 0.20
JST 0.034
BTC 89557.69
ETH 3064.76
USDT 1.00
SBD 2.96