Accesibilidad: Este texto está optimizado para
la función de lectura en voz alta. Se sugiere el
uso de Adobe Acrobat Reader, disponible en el
siguiente enlace:
[Link]
PROGRAMACIÓN
EN PYTHON
Nivel Principiante
Julian Moreno Cadavid
//2+1):
divs)
Programación en Python,
Nivel Principiante
Julian Moreno Cadavid
PhD.
Profesor Titular
Departamento de Ciencias de la
Computación y la Decisión
Facultad de Minas, Universidad Nacional
de Colombia - Medellín
[Link]. Diana Milena Jaramillo Quiceno
Coordinadora convenio Coursera -
Universidad Nacional de Colombia
Asesora metodológica-pedagógica y de
políticas de accesibilidad
Dirección Nacional de Innovación
Académica
Laura Gabriela Londoño Vera
Diseñadora gráfica
Universidad Nacional de Colombia
2025
Derechos de autor
Las lecturas del curso Programación en Python,
Nivel Principiante están publicadas
bajo una licencia Creative Commons:
Atribución/Reconocimiento-NoComercial
CompartirIgual 4.0 Internacional
MÓDULO 1
¿Qué es programar y
por qué esimportante
saber hacerlo?
¿Para qué hacemos programas?
Hacemos programas para que el computador “trabaje” por nosotros
Ejemplos:
• ¿Fue bisiesto el año 1900? ¿Será bisiesto el 2084?
• ¿Cuál es el número primo más grande de no más de 6 dígitos?
• ¿Cuál es la palabra con dos o más vocales diferentes que más se
repite en Don Quijote de la Mancha?
Y en general para llevar a cabo tarea que son complejas y/o repetitivas
¿Qué es un programa?
Conjunto de instrucciones que permite a un computador (dispositivo)
realizar funciones diversas como el procesamiento de textos, el diseño
de gráficos, etc.
Ejemplos:
• Excel, Word, Photoshop, etc.
• Whatsapp, TikTok, Twitch, etc.
• Videojuegos
• … Arte y mucho más
¿Por qué Python?
¿Qué tipos de lenguaje “entiende” el computador?
• Lenguaje de máquina
[Link]
• Lenguaje de bajo nivel
[Link]
• Lenguaje de alto nivel
a = 3
b = 4
if a < b :
print(‘a es menor que b‘)
¿Por qué Python?
• Nombrado en honor al grupo de comedia británico Monty Python
• Interpretado, no compilado
• Tiene tipado dinámico
• Multi-paradigma y multi-plataforma
• Software libre
• Ampliamente utilizado
• Fácil de aprender
¿Cómo usar Python?
PyCharm Atom
Spyder Sublime
Offline
PyDev Visual Studio Code
IDLE ([Link])
[Link] [Link]
Online
Mi primer programa
print (‘hola mundo’)
Esquema general
de un programa
Datos de Procesamiento Salida
entrada
nombres = input (‘ingresa tus nombres:’)
apellidos = input (‘ingresa tus apellidos:’)
nombre completo = nombres + ‘’ + apellidos
print (‘hola’, nombre_completo)
Ejemplo:
¿Cuántas letras diferentes tiene tu nombre completo?
ENTRADA: ‘Julián Moreno Cadavid’
PROCESAMIENTO: ¿?
SALIDA: 13
ENTRADA: ‘Gabriel García Márquez’
PROCESAMIENTO: ¿?
SALIDA: 12
Ejemplo:
¿A cuántas horas, minutos, segundos equivale una medida de tiempo
expresada en segundos?
ENTRADA: 600
PROCESAMIENTO: ¿?
SALIDA: ‘0 horas, 10 minutos, 0 segundos’
ENTRADA: 12587
PROCESAMIENTO: ¿?
SALIDA: ‘3 horas, 29 minutos, 47 segundos’
Nombres de variables
Reglas
1. El primer carácter debe ser una letra o un guion bajo (Ej: x, _x)
2. Luego pueden seguir letras, números o guiones bajos (Ej: b1, b_2, b3_)
3. Sensible a minúsculas y mayúsculas Ej: (a ≠ A)
4. No usar palabras reservadas (Ej: print, input, if, for, while)
Recomendaciones
1. Usar nombres descriptivos (Ej: edad vs. a, _z273)
2. Usar convenciones para palabras compuestas
Pascal: PrimerNombre
Camel: primerNombre
Snake: primer_nombre
Tipos de datos y
conversiones
Tipos de datos
Tipo Descripción Ejemplos
Entero Valor numérico 13
(int) sin decimal -258
2147483647
Real Valor numérico 3.14159
(float) sin decimal 0.005
1.0
Texto Secuencia de letras,
(str) números y/o otros ‘Julian Moreno Cadavid’
caracteres entre “julian_82@[Link]”
comillas simples o ‘13’
dobles
Booleano Valor de lógica True
(bool) binaria False
Conversión entre tipos de datos
• Entero convertido a real y viceversa
float(1) 1.0
int(-23.7) -23
• Texto convertido a entero o real y viceversa
int(‘45’) 45
float(‘-0.2’) -0.2
str(-100) ‘-100’
str(9.8) ‘9.8’
• Entero, real o texto convertido a booleano
bool(0), bool(0.0), bool(‘’) False
bool(5), bool(5.0), bool(‘5’) True
Realizar un programa para, dado el nombre, peso en kgs y la estatura en
metros de una persona, mostrar su índice de masa corporal
e e IMC = p
e²
p p
nombre = input (‘Ingresa tu nombre: ‘)
peso = float (input (‘Ingresa tu peso (en kgs) :’) )
estatura = float (input (‘Ingresa tu estatura (en mts) :’))
imc = peso/estatura**2
print (nombre, ‘tu IMC es’, imc)
Envío de ejercicios
Formato general de los ejercicios
Problema a resolver Título del ejercicio
Calcular el cuadrado
¿Cuál(es) son las
Dado un valor entero positivo N, mostrar su cuadrado entradas y sus
características
Entrada (tipo, valores
La entrada contiene una única línea con el valor de N. posibles, etc.)?
Salida
La entrada contiene una única línea con el resultado. ¿Cuál es la salida
esperada y cómo
Ejemplo de entrada debe mostrarse?
Ejemplo de salida
Uno o más ejemplos para aclarar
aún más el ejercicio y para ser
utilizados como caso de prueba
Realimentación de la plataforma
• Error de ejecución: puede deberse a problemas de sintaxis o de lógica
que hacen que el programa no ejecute.
N = input () N = int (input ())
print (N**2) primt (N**2)
• Tiempo/Memoria límite excedido: el programa ejecuta, pero gasta
más recursos de lo que debe.
• Respuesta incorrecta: el programa ejecuta y obtiene una respuesta
dentro de los límites de tiempo y memoria, pero dicha respuesta no
corresponde a la solución del problema o está mal formateada.
N = int (input ('Ingrese N:')) N = float (input ()) N = int (input)
print (N**2) print (N**2) print (2*N)
• Aceptado: el programa obtiene la respuesta esperada
N = int (input () )
print (N**2)