Ya conoces las características básicas del lenguaje Python y has programado alguna aplicación en él. También, en los apartados anteriores has conocido el reto a programar en este nuevo recurso y sabes que utilizaremos, tras aprender, la POO. Pero antes de entrar de lleno en el nuevo paradigma, vamos a realizar un pequeño cambio respecto a lo utilizado hasta ahora: ¡vamos a cambiar de entorno de programación! Utilizaremos PyCharm.
En este apartado, tras reflexionar sobre la conveniencia del uso de un IDE (Entorno de Desarrollo Integrado) y comparar la herramienta que has utilizado hasta ahora para programar, conocerás la interfaz de PyCharm. Aprenderás a instalarla, configurarla y usarla. Nos basaremos en ella para la programación del reto aquí propuesto. Verás que esta nueva interfaz te dará herramientas mucho más potentes para la programación de tus aplicaciones.
3. Sumérgete en un nuevo entorno
1. ¿Qué tenemos? ¿Qué mejoras queremos?
Hasta ahora hemos conocido que un programa se puede realizar en cualquier documento de texto. Sólo hay que abrir un archivo, escribir el código y compilarlo (para crear un fichero ejecutable que realice la actividad que ha sido programada). Para esto último, necesitamos un compilador propio del lenguaje de programación que hayamos utilizado.
En esta actividad os propongo trabajar en grupo para dar respuesta a las siguientes cuestiones y reflexionar sobre las diferencias entre las distintas herramientas que existen para crear un programa y saber por qué elegimos utilizar unas frente a otras.

Hasta ahora, para escribir tus programas has utilizado Python IDLE (Entorno de desarrollo y aprendizaje integrado):
- ¿Crees que es un editor de texto o un IDE? ¿Por qué?
- ¿Sabes si incluye compilador?
- En la experiencia que has tenido hasta ahora con los errores en tus programas, ¿qué formas de detectar errores te ha ofrecido Python IDLE?
- ¿Te ofrece la posibilidad de ejecutar paso a paso cada instrucción (y ver el valor de las variables) para localizar un fallo?
Buscad en Internet la información general sobre PyCharm que os indica cada pregunta:
- ¿Ofrece PyCharm depuración de errores?¿Puedes ir conociendo el valor de cada variable durante la ejecución del programa?
- Buscad información sobre estas tres características que incluye un IDE como PyCharm:
- Inspector de código
- Herramienta de depuración
- Docker. Explicad al grupo clase en qué consisten.
Expresadlo como prefiráis: podéis escribirlo en el cuaderno, puedes buscar imágenes por Internet y hacer una composición, hacer una presentación con diapositivas... Una vez lo tengáis presentadlo al grupo clase.
Programa que traduce código escrito en un lenguaje de programación (llamado fuente) a otro lenguaje (conocido como objeto) que suele ser un lenguaje de bajo nivel (código máquina).
Lumen dice Otras herramientas son más básicas
Recordad que existen también los editores de texto con reconocimiento de palabras del código, pero que necesitan posteriormente un compilador aparte:
Un editor de texto es una aplicación que se usa para desarrollar y que ofrece una funcionalidad simple y minimalista. Suelen venir con lo básico, como resaltado de sintaxis, acceso al terminal y formato automático. Son de propósito general, por lo que suelen ser compatibles con la mayoría de lenguajes de programación. Pueden parecer como un bloc de notas (Windows) o un gedit (Linux) avanzado: un ejemplo de esto es Notepad++
En contraposición, como ya hemos visto, los IDE son un entorno de desarrollo integrado (escritura de código + compilación, errores y otras funciones extra). Generalmente, ofrecen al desarrollador multitud de herramientas de manera que no tenga que salir de la aplicación para realizar cualquier tipo de tarea involucrada con el desarrollo.
2. Identifico lo que tengo que hacer
Ya conoces qué reto te proponemos alcanzar y te acabamos de plantear una actividad que te acercará a la meta. Pero para tener éxito en tu camino, necesitarás algunas estrategias que te servirán para esta y otras tareas parecidas. Las irás descubriendo en un diario que llamamos tu Diario de Aprendizaje.
¡Te proponemos que lo abras y completes el PASO 1 (Identifico lo que tengo que hacer) del Diario de aprendizaje antes de empezar la actividad que acabas de leer!
Haz clic aquí para descargar tu Diario de Aprendizaje en formato PDF.
Haz clic aquí para descargar tu Diario de Aprendizaje en formato editable ODP.
Recuerda:
- Pregunta a tu profesor o profesora si lo vas a rellenar en papel o en el ordenador.
- Si lo rellenas en el ordenador, no te olvides de guardarlo en una carpeta que más tarde puedas localizar.
¡Ánimo, que lo harás genial!
3. ¿Seré capaz de hacer la actividad?
¡Ya has empezado la actividad, “¿Qué tenemos? ¿Qué mejoras queremos?”! Cuando empezamos algo que no habíamos hecho antes podemos sentir algo de miedo e inseguridad, esto es algo muy normal.
Si completas el PASO 2 (¿Seré capaz de hacerlo?) del Diario de aprendizaje, podrás comprobar que solo con reflexionar sobre esto te ayudará a relajarte, a continuar con la actividad y completarla con éxito. También conseguirás sentir menos inseguridad cuando tengas que realizar las próximas actividades.
Recuerda:
- Pregunta a tu profesor o profesora si lo vas a rellenar en papel o en el ordenador.
- Si lo rellenas en el ordenador, no te olvides de guardarlo en una carpeta que más tarde puedas localizar.
¡Ánimo, que lo harás genial!
4. ¡Quiero el mejor equipo!
Acabais de conocer a la herramienta que utilizaremos para programar nuestro reto y habeis reflexionado sobre sus ventajas respecto a las utilizadas hasta ahora. Es el momento de familiarizarte con su interfaz, conocer sus partes y las nuevas funcionalidades que presente. ¡Descubrirás un entorno de desarrollo más cómodo que el que has utilizado previamente! Navega por los apartados de esta presentación y practica para aprender qué te ofrece:
Audio
5. Un primer paso somero: Crea tu entorno PyCharm
Comienza tu inmersión acercándote a la orilla, en aguas someras del entorno de la POO: instala el nuevo entorno que usarás para tus programas y proyectos.
Ya has podido comprobar que PyCharm ofrece múltiples ventajas respecto al IDLE que hemos utilizado hasta ahora para escribir nuestros programas: ofrece información sobre funciones y comandos que se están usando, el tipo de una variable o expresión, fácil detección de errores... No esperes más, ¡comencémoslo a usarlo!
Según tu sistema operativo, la web del proyecto PyCharm te ofrece diferentes instaladores. Aquí utilizaremos PyCharm Community Edition, que es una herramienta ofrecida de manera gratuita construida en código abierto. Te presentamos aquí los pasos a seguir según los dos SO más utilizados:
Uso un SO basado en Windows
El primer paso es descargarte el fichero ejecutable de la web del proyecto:
https://www.jetbrains.com/pycharm/download/#section=windows
Una vez descargado, sigue los pasos del siguiente vídeo para realizar la instalación. Verás que es muy sencilla.
Uso un SO basado en Linux-Ubuntu
Para instalar PyCharm en un sistema Linux existen varias formas. La más cómoda es utilizar un gestor de paquetes o snap tool. A continuación puedes ver el comando a utilizar con esta herramienta y los pasos que te encontrarás:
PASO 1
sudo snap install pycharm-community --classic
PASO 2

PASO 3
pycharm-community
PASO 4

PASO 5

PASO 6

¿Quieres personalizar tu entorno?
Si deseas personalizar y configurar PyCharm te proponemos el siguiente vídeo que te acompañará por las diferentes opciones:
6. Un paso más hondo: Mi primer proyecto
¡Ya tienes disponible tu nueva herramienta de programación! Es hora de estrenarla... Vas a crear tu primer proyecto PyCharm en el que escribirás un programa simple. La intención ahora es aprender a crear un proyecto, con su fichero de programación que recogerá el código y a continuación vas a ver cómo ejecutarlo y comprobar qué aparece por pantalla si se ejecuta el programa. Sigue los pasos que se te proponen en este ejercicio.
En la columna izquierda encontrarás las indicaciones de cómo realizar las acciones que te resultarán novedosas a la hora de trabajar con Python en PyCharm, como los pasos previos a crear el código de tu programa y la ejecución final para probarlo. No te olvides de ir realizando cada paso en PyCharm en tu ordenador a medida que construyes el programa.
¿Cómo creo un nuevo proyecto en PyCharm?
PASO 1

PASO 2
- En la pantalla siguiente escribimos un nuevo nombre para nuestro nuevo proyecto. En este caso se ha elegido "numerosAleatorios".
- En la opción Project Interpreter debemos seleccionar el intérprete de Python a utilizar en el proyecto. PyCharm nos presenta dos opciones:
- Nuevo ambiente (New Environment): Si seleccionamos esta opción, pycharm instalará un intérprete de python exclusivo para el proyecto a crear.
- Intérprete existente (Recomendado): PyCharm nos permitirá escoger el intérprete de python que tengamos instalado en nuestra computadora. Se recomienda utilizar esta opción que utilizará el intérprete de Python que instalamos previamente.
- Una vez seleccionado el intérprete, hacemos click en Crear.

¿Cómo creo un archivo dentro del proyecto?
PASO 1

PASO 2
Se nos pedirá ingresar el nombre del nuevo archivo. En este caso lo hemos llamado numerosAleatorios. Ponemos el nombre y pulsamos Intro.

¿Cómo ejecuto el código Python?
PASO 1

PASO 2
Hacer click en el archivo que queremos ejecutar. El resultado de la ejecución de todo nuestro archivo se mostrará en la sección de consola PyCharm en la parte inferior de la pantalla:
Vamos a crear un programa que genere un número aleatorio entre 48 y 122. Una vez generado, si su equivalente ASCII corresponde a un número, una minúscula o una mayúscula dicho carácter pasará a formar parte de una cadena de caracteres. Cuando esta cadena tenga una longitud de 8 caracteres, la mostrará por pantalla. Para comenzar el proyecto, crear el fichero y ejecutarlo, remítete a los apartados de la columna de la izquierda. A continuación te apuntamos una serie de pasos a tener en cuenta para crear tu algoritmo:
- PASO: En primer lugar debes crear un número aleatorio. Para ello te recomendamos que consultes la librería random. Encontrarás que tienes dos opciones para generar un número aleatorio usando dos métodos diferentes: randint() o random().
OJO: Si usas este último, como puedes consultar en el enlace de la librería, random() devuelve un valor entre 0,00 y 1,00. Este valor tendrás que llevarlo a que esté entre 48 y 122 (tendrás que realizar alguna operación matemática) y quedarte con la parte entera de dicho número (investiga la librería math), ¿devuelve la función que utilizarás un tipo entero? (Es lo que necesitamos para convertir a ASCII). - PASO: Ahora debes averiguar si el número obtenido es un carácter ASCII de un número, minúscula o mayúscula. Para ello tendrás que ayudarte de la siguiente tabla ASCII (apdo. Caracteres imprimibles ASCII) y ver en qué rango está el número obtenido para saber si es un carácter de los válidos. ¿Qué tipo de estructura de control utilizarías para ver si está en los rangos de los caracterres ASCII que cumplen ser número, minúscula o mayúscula?
- PASO: Si el número aleatorio obtenido cumple los requisitos, debes convertir a tipo carácter el número obtenido para que el programa lo entienda como un carácter. Usa para ello la función char().
- PASO: Una vez obtenido el carácter, lo incluimos en nuestra variable cadena de caracteres. Para añadirlo al final, recuerda las operaciones que puedes hacer con las variables de tipo secuencia.
- PASO: Repite las operaciones hasta que nuestra cadena de caracteres (tipo secuencia) tenga la longitud de 8.
- PASO: ¡Prueba tu programa!
¿Para qué podríamos utilizar este programa?
Fíjate bien en el resultado obtenido: Se parece a una contraseña, ¿verdad?
¡Has encontrado una manera de generar contraseñas de manera aleatoria!
Clavis dice ¡Pon mucha atención!
Cuando tienes que programar algo es muy importante no cometer errores en el resultado final.
Un truco para centrar la atención es que vayas siguiendo cada paso y comprobando que lo que vas haciendo está bien y el programa hace lo que tú esperabas.
Puedes ir comprobándolo en el programa que uses.
La estrategia de supervisar cada paso ayuda a controlar los posibles errores que pueda haber y resolver las dificultades. Esta estrategia se puede usar en cualquier tarea en la que tengamos que hacer varios pasos (cualquier ejercicio de programación, un problema matemático, un análisis de oraciones y muchas más).
¡Pruébala y verás que no se te olvida nada!
7. Fallo ¡¿Ahora qué?!
Imaginad que habéis creado un programa de forma colaborativa y, en consecuencia, os encontráis frente a un código bastante extenso. De repente, al realizar la prueba global de funcionamiento...fallo. ¡¿Ahora qué?!
Reflexionad en el grupo de trabajo sobre este problema y proponed soluciones como respuesta a la siguiente cuestión:
¿Qué sugerencias de depuración proponéis que se podrían realizar en el programa para detectar dónde está el fallo?¿Cuál sería más rápida?
La depuración de programas es el proceso de identificar y corregir errores de programación.En inglés se conoce como debugging, porque se asemeja a la eliminación de bichos (bugs), manera en que se conoce informalmente a los errores de programación.
¿Necesitáis ayuda?
Pensad en maneras de interpretar los mensajes de la consola en la que se muestran los resultados: líneas de código que aparecen, se mostraría una orden de impresión por pantalla, caso de prueba: mejor y peor condición...y siempre queda ver cada paso o línea.
Un caso de prueba (en inglés, test case) es un conjunto de condiciones o variables bajo las cuales se determinará si una aplicación, un sistema de software o una característica o comportamiento de estos resulta o no aceptable.
8. Profundizamos: Depura tu aplicación
Una vez que has aprendido a construir y probar un programa en la nueva interfaz PyCharm, es importante que conozcas sus utilidades de depuración. Ya habéis reflexionado sobre cómo se podría detectar un error de ejecución en un programa. Te puede haber parecido algo dificil, ¡pero no!: Vas a ver que este entorno nos ofrece métodos muy útiles para comprobar el funcionamiento de nuestros programas y proyectos y localizar fácilmente los errores de funcionamiento.
Para probar la depuración, vas a comenzar creando un nuevo proyecto que contenga un fichero Python con el código que te ofrecemos aquí: programa para crear el fichero.
Este programa crea la clase Coche con una serie de propiedades (atributos) y funciones (métodos), y además realiza un pequeño funcionamiento de nuestro coche. Pero el código contiene un error de funcionamiento, que vas a encontrar siguiendo la acciones que se te indican en las pestañas inferiores.
Nota: No te preocupes si no entiendes bien qué hace este código: en los próximos apartados conocerás a fondo la POO y aprenderás cómo crear estas clases de elementos y después sus objetos. En esta práctica céntrate sólo en depurar el error que vas a encontrar que tiene.
¿Problemas?
Vamos a probar nuestro programa. Crea un nuevo proyecto llamado coche, y dentro de él crea el correspondiente fichero Python para albergar el código proporcionado. Veamos qué sucede cuando iniciamos el script e intentamos averiguar nuestra velocidad promedio (opción V en el programa):
Uuuupss, PyCharm informa de un error de tiempo de ejecución: un mensaje ZeroDivisionError.
Comenzamos la depuración
Profundizamos un poco más en nuestro código para descubrir qué está fallando. Usaremos el depurador de PyCharm para ver exactamente lo que sucede en nuestro código. Para comenzar la depuración, primero establecemos algunos puntos de interrupción:
Saltamos al siguiente paso
Ya ha comenzado la depuración, y el programa se ha quedado en el primer punto de ruptura que colocamos. Vamos a comenzar ahora entonces el salto al siguiente paso del script:
Pulsa el botón para comenzar la ejecución y en la pestaña de consola escribe V y pulsa Intro:
(Clic para ampliar)
Surround
Vamos a probar ahora la opción "Surround" que nos propone nuestro nuevo entorno y que ya conociste en el ejercicio interactivo anterior. Para evitar la división por cero, añadiremos una estructura if para verificar si el tiempo es igual a cero antes de realizar la operación. Veamos cómo hacerlo.
Selecciona la instrucción return self.cuentakilometro / self.tiempo en el método velocidad_media y luego selecciona en el menú de PyCharm Code → Surround with

(Clic para ampliar)En detalle
Si deseas ver lo que hace tu código línea por línea, no es necesario colocar un punto de interrupción en cada línea: en PyCharm puedes recorrer el código paso a paso.
Puedes usar los botones de la barra de herramientas de paso a paso para elegir en qué línea te gustaría detenerte a continuación:
Veamos ahora el funcionamiento de algunos de ellos.
Step over



Step into


Además, si ahora usas el botón Step over 

Watching

Al principio, verás que la variable da error, porque aún no está definida. Sin embargo, cuando la ejecución del programa continúa hasta el alcance que define la variable, aparece su valor.Para saber más
Si quieres conocer la explicación detallada de todos los botones de la barra de herramientas de paso a paso, aquí te la mostramos:
Elemento | Nombre | Descripción |
---|---|---|
![]() |
Mostrar punto de ejecución | Haz clic en este botón para resaltar el punto de ejecución actual en el editor. |
![]() |
Step over | Haz clic en este botón para ejecutar el programa hasta la siguiente línea en el método o archivo actual, omitiendo los métodos a los que se hace referencia en el punto de ejecución actual (si corresponde). Si la línea actual es la última del método, la ejecución pasa a la línea ejecutada inmediatamente después de este método. |
![]() |
Step into | Haz clic en este botón para que el depurador pase al método llamado en el punto de ejecución actual. |
![]() |
Forzar step into | Haz clic en este botón para que el depurador pase al método llamado en el punto de ejecución actual, incluso si se va a omitir este método. |
![]() |
Step into my code | Haz clic en este botón para saltarte las fuentes de la biblioteca y concentrarte en tu propio código. |
![]() |
Step out | Haz clic en este botón para que el depurador salga del método actual, a la línea que se ejecuta inmediatamente después. |
![]() |
Ir al cursor | Haz clic en este botón para reanudar la ejecución del programa y hacer una pausa hasta que el punto de ejecución llegue a la línea en la ubicación actual del cursor en el editor. No se requiere ningún punto de interrupción. |
![]() |
Evaluar expresión | Haz clic en este botón para obtener el valor de una expresión. |
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0