1
Introducción a Python
Esteban Giovanni Gómez Flórez
SENA Centro de Servicios Financieros
Análisis y Desarrollo de Software
Instructora Diana Delgado
18 de mayo del 2026
2
Tabla de contenido
Instalación de Flutter y Python
Instalación de herramientas Flutter y Python..........................................................................1
Introducción................................................................................................................................ 3
1. Instalación Visual Studio Code y extensión Flutter.................................................4
[Link]ón de Android Studio.............................................................................5
[Link]ón de Flutter......................................................................................6
[Link]ón de Vysor, Node Js y PostMan............................................................8
[Link]ón de Instalación...................................................................................9
[Link]ón de Python........................................................................................10
[Link]ón de Python y creación del entorno virtual.........................................11
[Link]ón de Django........................................................................................12
[Link]ón de funcionamiento..........................................................................13
2. Ejercicio en clase Python.....................................................................................14
[Link]ón ejercicio en clase................................................................................15
3
Introducción
Python es un lenguaje de programación de alto nivel, interpretado y de
propósito general, creado para ser fácil de aprender y utilizar. Su sintaxis es
clara y legible, lo que lo convierte en una de las mejores opciones para
principiantes en programación. Python se utiliza en múltiples áreas como
desarrollo web, análisis de datos, inteligencia artificial, automatización y
desarrollo de aplicaciones.
En esta guía se aplican conceptos básicos de programación en Python
como variables, estructuras de control, funciones, listas, diccionarios y
manejo de errores, con el objetivo de desarrollar ejercicios prácticos que
permiten fortalecer el pensamiento lógico y la resolución de problemas.
.
4
1. Área y perímetro de un círculo (radio del círculo)
Se solicitó al usuario el valor del radio de un círculo utilizando la función
input(). Posteriormente, este valor se convirtió a número decimal para poder
realizar operaciones matemáticas. Con el radio ingresado, se calcularon el área y
el perímetro del círculo utilizando fórmulas matemáticas.
Se desarrolló un programa que permite ingresar el radio de un círculo y, a
partir de este dato, calcula su área y perímetro aplicando fórmulas matemáticas
básicas.
5
1.1. Conversión de temperatura
Se ingresó una temperatura en grados Celsius y se convirtió a Fahrenheit y
Kelvin utilizando fórmulas establecidas.
Se creó un programa que transforma temperaturas ingresadas por el
usuario a diferentes escalas térmica
6
1.2. Número par o impar sin condicionales
Se utilizó el operador módulo % para determinar si un número es par o
impar sin usar estructuras condicionales tradicionales.
Se implementó un programa que clasifica números como pares o impares
usando el residuo de la división.
7
1.3. Raíz cuadrada aproximada
Se implementó un algoritmo iterativo para aproximar la raíz cuadrada de
un número positivo sin usar funciones matemáticas predefinidas.
Se creó un programa que mejora progresivamente una aproximación hasta
obtener un valor cercano a la raíz real.
8
1.4. Depuración de conversión de datos
Se identificó un error al intentar convertir un número decimal en texto a
entero directamente con int().
Se corrigió el error aplicando una conversión adecuada de tipo de dato
antes de realizar la operación.
9
1.5. Ingreso de nombre y edad
Se utilizó la función input() para solicitar al usuario su nombre y edad. La
edad fue validada para verificar que contenga únicamente valores numéricos,
evitando errores en el programa.
Se creó un programa que recibe datos personales del usuario y valida que
la edad sea un número antes de mostrar un mensaje personalizado.
.
1
0
1.6. Promedio de números
Se solicitó al usuario tres números y se calculó su promedio.
Se creó un programa que realiza operaciones matemáticas básicas para
obtener un resultado promedio.
1
1
1.7. Calculadora básica
Se diseñó una calculadora que realiza operaciones de suma, resta,
multiplicación y división según la opción ingresada.
Se implementó un sistema que permite al usuario elegir una operación
matemática y obtener el resultado.
1
2
1.8. Cuestionario interactivo
Se diseñó un programa tipo cuestionario que realiza varias preguntas al
usuario mediante la función input(). Cada respuesta ingresada se compara con la
respuesta correcta definida en el programa. A medida que el usuario responde, se
lleva un conteo de las respuestas correctas para obtener una puntuación final.
Se creó un sistema de preguntas y respuestas donde el programa evalúa
las respuestas del usuario y calcula cuántas son correctas, mostrando al final el
resultado obtenido en el cuestionario.
1
3
1.9. Depuración en entrada de datos
Se analizó un código que intenta solicitar un número al usuario y
multiplicarlo por 2. Sin embargo, el programa presenta un error debido a una
escritura incorrecta de la función de entrada (input).
El error es un NameError, ya que imput no es una función válida en
Python. El intérprete no reconoce ese nombre porque está mal escrito.
Se corrige la palabra imput por input. Además, se realiza la conversión del
dato a tipo numérico (int o float) para poder realizar la operación matemática
correctamente.
Se identificó el error de sintaxis en la función de entrada y se corrigió el
código para que el usuario pueda ingresar un número, el cual luego es
multiplicado correctamente por 2.
1
4
2. Tabla de multiplicar con bucle for
Se desarrolló un programa que solicita un número ingresado por el usuario
y utiliza un bucle for para generar su tabla de multiplicar desde 1 hasta 10.
Se implementó un ciclo repetitivo que permite multiplicar el número
ingresado por valores del 1 al 10, mostrando cada resultado de forma ordenada.
1
5
2.1. Suma de números pares con while
Se creó un script que recorre los números del 1 al 100 utilizando un bucle
while, identificando cuáles son pares para sumarlos.
Se diseñó un algoritmo que verifica cada número en el rango y acumula
únicamente los valores pares utilizando el operador módulo %.
1
6
2.2. Verificación de número primo
Se implementó un algoritmo que determina si un número ingresado por el
usuario es primo, evaluando la cantidad de divisores que posee.
Se creó un programa que recorre los números desde 1 hasta el valor
ingresado y cuenta cuántos divisores tiene para decidir si es primo o no.
1
7
2.3. Secuencia de Fibonacci
Se generaron los primeros n términos de la serie de Fibonacci utilizando un
bucle, donde cada número es la suma de los dos anteriores.
Se implementó un programa que construye la secuencia de Fibonacci de
forma iterativa, mostrando los valores generados hasta la cantidad solicitada por
el usuario.
1
8
2.4. Depuración en impresión con while
Se analizó un código que intenta imprimir los números del 1 al 5 usando un
bucle while, pero presenta un error de indentación.
El error es de IndentationError, ya que las instrucciones dentro del while
no están correctamente indentadas, lo que impide que Python reconozca el bloque
de código.
Se corrige la indentación para que print(i) e i += 1 estén dentro del bloque
del while.
Se ajustó la estructura del ciclo while aplicando la indentación correcta para
que el programa pueda ejecutarse y mostrar los números del 1 al 5 sin errores.
1
9
2.5. Gestión de lista de estudiantes
Se creó una lista para almacenar nombres de estudiantes y se
implementaron funciones para agregar, eliminar por posición y mostrar los
nombres ordenados alfabéticamente.
Se desarrolló un programa que permite gestionar una lista de estudiantes
utilizando funciones, facilitando la adición, eliminación y organización de los datos
de forma ordenada.
2
0
2.6. Diccionario de contactos
Se diseñó un diccionario para almacenar contactos, donde el nombre es la
clave y el número de teléfono es el valor. El programa permite agregar, buscar y
eliminar contactos.
Se implementó un sistema de agenda telefónica utilizando diccionarios,
permitiendo gestionar información de contactos de forma dinámica.
2
1
2.7. Frecuencia de palabras
Se creó un programa que recibe una frase ingresada por el usuario y genera
un diccionario con la frecuencia de aparición de cada palabra.
Se desarrolló un algoritmo que analiza texto, separa las palabras y cuenta
cuántas veces aparece cada una, almacenando los resultados en un diccionario.
2
2
2.8. Conjuntos y eliminación de duplicados
Se convirtió una lista con elementos repetidos en un conjunto para eliminar
duplicados y se comparó la diferencia entre ambos.
Se utilizó la estructura de datos tipo set para eliminar valores repetidos
automáticamente y mostrar los elementos únicos de la lista.
2
3
2.9. Depuración de índice en lista
Se analizó un código que intenta acceder a una posición inexistente dentro
de una lista. El error es un IndexError, ya que se intenta acceder al índice 5 en
una lista que solo tiene posiciones de 0 a 2.
Se debe validar el tamaño de la lista antes de acceder a un índice o utilizar
2
estructuras de control como if o try/except para evitar el error. 4
Se identificó el error de acceso fuera de rango y se propusieron métodos de
validación para evitar que el programa falle al intentar acceder a posiciones
inexistentes.
3. Lista con elementos únicos
Se creó una función que recibe una lista de elementos y devuelve una
nueva lista eliminando los valores repetidos.
2
Se implementó una función que procesa una lista y filtra los elementos5
duplicados, devolviendo únicamente valores únicos mediante estructuras como
set o validaciones internas.
3.1. Máximo como un divisor (MCD)
Se desarrolló una función que calcula el máximo común divisor de dos
números utilizando el algoritmo de Euclides.
2
Se creó un algoritmo iterativo que realiza divisiones sucesivas hasta6
encontrar el número más grande que divide exactamente a ambos valores
ingresados.
3.2. Palíndromo
Se implementó una función que determina si una cadena de texto es un
2
palíndromo, es decir, si se lee igual de izquierda a derecha que de derecha a7
izquierda.
Se diseñó una función que compara la cadena original con su versión
invertida para verificar si ambas son iguales.
3.3. Divisores de un número
2
8
Se creó una función que recibe un número entero y devuelve una lista con
todos sus divisores exactos.
Se implementó un algoritmo que recorre los números desde 1 hasta el valor
ingresado y almacena aquellos que dividen exactamente al número.
2
3.4. Depuración en función de cuadrado 9
Se analizó un código que intenta calcular el cuadrado de un número, pero
presenta errores de sintaxis y retorno de datos.
La función no tiene return, por lo que no devuelve ningún valor, y además la
operación num * num no está correctamente retornada. Esto hace que el
resultado sea None.
Se debe agregar la palabra clave return dentro de la función para que
devuelva el resultado correctamente.
Se corrigió la función agregando el retorno del valor calculado, permitiendo
que el programa muestre correctamente el cuadrado del número ingresado.
3
0
3.5. Validación de numero entero
Se implementó un programa que solicita repetidamente al usuario un
número entero hasta que se ingrese un valor válido.
Se utilizó un ciclo junto con try/except para validar la entrada del usuario,
repitiendo la solicitud hasta que el dato ingresado sea un número entero correcto.
3
1
3.6. Calculadora con manejo de errores
Se diseñó una calculadora que realiza operaciones básicas y maneja errores
como división por cero y entradas inválidas.
Se implementó una calculadora que utiliza bloques try/except para evitar
que el programa se detenga ante errores como dividir entre cero o ingresar datos
no numéricos.
3
2
3.7. Lectura de archivos con control de errores
Se creó un script que abre un archivo de texto cuya ruta es ingresada por el
usuario, manejando el error si el archivo no existe.
Se utilizó manejo de excepciones (FileNotFoundError) para controlar
situaciones en las que la ruta ingresada no corresponde a un archivo existente.
3
3
3.8. Suma de lista con validación
Se desarrolló una función que solicita una lista de números enteros y
calcula su suma, manejando errores si el usuario introduce valores no numéricos.
Se implementó una función que recorre los elementos ingresados por el
usuario y utiliza try/except para ignorar valores inválidos y sumar únicamente los
números correctos.
3
4
3.9. Depuración de tipos de datos en suma
Se analizó un código que intenta sumar un número entero con una cadena
de texto.
El error es un TypeError, ya que no es posible realizar operaciones
matemáticas entre un número (int) y una cadena (str) sin conversión previa.
Se debe convertir la cadena "5" a entero o flotante usando int() o float()
antes de realizar la suma.
Se identificó el error de tipos de datos incompatibles y se propuso la
conversión adecuada o el uso de manejo de excepciones para evitar que el
programa falle.
3
5
4. Sistema de gestión de contactos
Se desarrolló una aplicación tipo agenda de contactos que permite
almacenar información de personas como nombre, número de teléfono y correo
electrónico. El sistema está diseñado para permitir al usuario gestionar los
contactos de forma dinámica mediante un menú interactivo.
La aplicación incluye validaciones para asegurar que el número de teléfono
contenga únicamente dígitos y que el correo electrónico incluya el carácter “@”,
garantizando así la correcta entrada de datos.
Además, el programa permite buscar contactos por nombre, modificar su
información, eliminar registros existentes y mostrar todos los contactos ordenados
alfabéticamente.
Se implementó una aplicación completa utilizando diccionarios para
almacenar la información de los contactos, funciones para organizar cada
operación del sistema.
3
6
3
7
3
8
3
9