ulises.io
Programación

Tutorial de Python para Principiantes: Lo Básico + Calculadora Interactiva

15 min de lectura
PythonTutorialPrincipiantesProyectoProgramación

Python es uno de los mejores lenguajes para empezar a programar. Su sintaxis es limpia, legible, y te permite enfocarte en resolver problemas en lugar de pelear con el lenguaje.

En este tutorial vamos a cubrir lo esencial de Python y al final construiremos una calculadora interactiva juntos. No necesitas experiencia previa.

Instalación

Windows

  1. Ve a python.org/downloads
  2. Descarga la última versión (3.12+)
  3. Importante: Marca la casilla "Add Python to PATH" durante la instalación

macOS

Python viene preinstalado, pero te recomiendo instalar la versión más reciente:

brew install python

Linux

sudo apt update
sudo apt install python3 python3-pip

Verificar instalación

Abre tu terminal y escribe:

python --version

Deberías ver algo como Python 3.12.x.


Lo Básico de Python

Variables y Tipos de Datos

En Python no necesitas declarar el tipo de variable:

# Strings (texto)
nombre = "Ulises"
mensaje = 'También funciona con comillas simples'

# Números
edad = 25
precio = 19.99
cantidad = -5

# Booleanos
es_programador = True
tiene_experiencia = False

# Nulo
resultado = None

Imprimir en consola

print("Hola, mundo!")
print(f"Me llamo {nombre} y tengo {edad} años")  # f-strings
print("Precio:", precio)

Operaciones básicas

# Matemáticas
suma = 10 + 5        # 15
resta = 10 - 5       # 5
multiplicacion = 4 * 3   # 12
division = 10 / 3    # 3.333...
division_entera = 10 // 3  # 3
modulo = 10 % 3      # 1 (residuo)
potencia = 2 ** 3    # 8

# Strings
nombre_completo = "Ulises" + " " + "Rodriguez"  # Concatenar
repetir = "Hola " * 3  # "Hola Hola Hola "

Input del usuario

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

# Convertir input a número
edad = int(input("¿Cuántos años tienes? "))

Estructuras de Control

Condicionales (if/elif/else)

edad = 18

if edad >= 18:
    print("Eres mayor de edad")
elif edad >= 13:
    print("Eres adolescente")
else:
    print("Eres menor de edad")

Nota importante: En Python la indentación (espacios al inicio) es obligatoria. Usa 4 espacios o tab.

Operadores de comparación

# ==  igual a
# !=  diferente de
# >   mayor que
# <   menor que
# >=  mayor o igual
# <=  menor o igual

# Operadores lógicos
# and  - ambos deben ser True
# or   - al menos uno True
# not  - invierte el valor

if edad >= 18 and tiene_licencia:
    print("Puedes conducir")

Bucles (Loops)

For loop

# Iterar sobre una lista
frutas = ["manzana", "banana", "naranja"]
for fruta in frutas:
    print(fruta)

# Iterar con range
for i in range(5):  # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 6):  # 1, 2, 3, 4, 5
    print(i)

for i in range(0, 10, 2):  # 0, 2, 4, 6, 8 (de 2 en 2)
    print(i)

While loop

contador = 0
while contador < 5:
    print(contador)
    contador += 1  # No olvides incrementar o será loop infinito

Break y Continue

# break - sale del loop
for i in range(10):
    if i == 5:
        break
    print(i)  # Imprime 0, 1, 2, 3, 4

# continue - salta a la siguiente iteración
for i in range(5):
    if i == 2:
        continue
    print(i)  # Imprime 0, 1, 3, 4

Listas y Diccionarios

Listas

# Crear lista
numeros = [1, 2, 3, 4, 5]
mixta = [1, "dos", 3.0, True]

# Acceder elementos (índice empieza en 0)
primero = numeros[0]  # 1
ultimo = numeros[-1]  # 5

# Modificar
numeros[0] = 10

# Agregar elementos
numeros.append(6)      # Agrega al final
numeros.insert(0, 0)   # Agrega en posición específica

# Eliminar
numeros.remove(3)      # Elimina el valor 3
del numeros[0]         # Elimina por índice
ultimo = numeros.pop() # Elimina y retorna el último

# Longitud
print(len(numeros))

# Slicing (rebanadas)
primeros_tres = numeros[0:3]  # [1, 2, 3]
ultimos_dos = numeros[-2:]    # Últimos 2 elementos

Diccionarios

Son como objetos en JavaScript - pares clave-valor:

persona = {
    "nombre": "Ulises",
    "edad": 25,
    "ciudad": "Torreón"
}

# Acceder
print(persona["nombre"])  # Ulises
print(persona.get("nombre"))  # Más seguro, no da error si no existe

# Modificar/Agregar
persona["edad"] = 26
persona["profesion"] = "Developer"

# Eliminar
del persona["ciudad"]

# Iterar
for clave, valor in persona.items():
    print(f"{clave}: {valor}")

Funciones

# Función básica
def saludar():
    print("¡Hola!")

saludar()  # Llamar función

# Con parámetros
def saludar_a(nombre):
    print(f"¡Hola, {nombre}!")

saludar_a("Ulises")

# Con valor por defecto
def saludar_formal(nombre, titulo="Sr."):
    print(f"¡Hola, {titulo} {nombre}!")

saludar_formal("Rodriguez")  # Hola, Sr. Rodriguez
saludar_formal("Maria", "Sra.")  # Hola, Sra. Maria

# Con return
def sumar(a, b):
    return a + b

resultado = sumar(5, 3)  # 8

# Múltiples returns
def dividir(a, b):
    if b == 0:
        return None
    return a / b

Manejo de Errores

try:
    numero = int(input("Ingresa un número: "))
    resultado = 10 / numero
    print(f"Resultado: {resultado}")
except ValueError:
    print("Eso no es un número válido")
except ZeroDivisionError:
    print("No se puede dividir entre cero")
except Exception as e:
    print(f"Error inesperado: {e}")
finally:
    print("Esto siempre se ejecuta")

Trabajar con Archivos

# Escribir archivo
with open("archivo.txt", "w") as f:
    f.write("Hola, mundo!\n")
    f.write("Segunda línea")

# Leer archivo
with open("archivo.txt", "r") as f:
    contenido = f.read()
    print(contenido)

# Leer línea por línea
with open("archivo.txt", "r") as f:
    for linea in f:
        print(linea.strip())  # strip() quita espacios/saltos

Proyecto: Calculadora Interactiva

Ahora vamos a construir algo útil: una calculadora que funciona en la terminal.

Crea un archivo llamado calculadora.py:

def suma(a, b):
    return a + b

def resta(a, b):
    return a - b

def multiplicacion(a, b):
    return a * b

def division(a, b):
    if b == 0:
        return "Error: No se puede dividir por cero"
    return a / b

def main():
    print("🧮 Calculadora Interactiva")
    print("Operaciones disponibles:")
    print("1. Suma")
    print("2. Resta")
    print("3. Multiplicación")
    print("4. División")
    print("5. Salir")
    
    while True:
        try:
            opcion = int(input("\nElige una operación (1-5): "))
            
            if opcion == 5:
                print("¡Hasta luego!")
                break
            
            if opcion not in [1, 2, 3, 4]:
                print("Opción inválida. Intenta de nuevo.")
                continue
            
            num1 = float(input("Ingresa el primer número: "))
            num2 = float(input("Ingresa el segundo número: "))
            
            if opcion == 1:
                resultado = suma(num1, num2)
                print(f"Resultado: {num1} + {num2} = {resultado}")
            elif opcion == 2:
                resultado = resta(num1, num2)
                print(f"Resultado: {num1} - {num2} = {resultado}")
            elif opcion == 3:
                resultado = multiplicacion(num1, num2)
                print(f"Resultado: {num1} * {num2} = {resultado}")
            elif opcion == 4:
                resultado = division(num1, num2)
                print(f"Resultado: {num1} / {num2} = {resultado}")
                
        except ValueError:
            print("Error: Ingresa un número válido.")
        except Exception as e:
            print(f"Error inesperado: {e}")

if __name__ == "__main__":
    main()

Ejecutar el proyecto

python calculadora.py

¿Qué aprendiste con este proyecto?

  • Funciones para organizar código
  • Condicionales para las opciones
  • Loops para el menú interactivo
  • Manejo de errores con try/except
  • Entrada de usuario con input()

Próximos Pasos

Una vez que domines lo básico, explora:

  1. POO (Programación Orientada a Objetos) — clases, herencia, métodos
  2. Módulos y paquetes — organizar código en archivos
  3. Virtual environmentspython -m venv env
  4. pip — instalar librerías externas
  5. Frameworks — Flask/FastAPI para web, Pandas para datos

Recursos Recomendados


Preguntas Frecuentes

¿Es Python bueno para principiantes? Sí, es de los mejores para empezar. Su sintaxis es cercana al inglés y te evita complejidades innecesarias mientras aprendes a pensar como programador. Si aún dudas qué aprender, mira mi comparativa de lenguajes de programación para 2026.

¿Cuánto tardo en aprender Python? Lo básico de este tutorial lo puedes asimilar en pocas semanas. Para soltura real, combina la sintaxis con los fundamentos de lógica y estructuras de datos: ahí está el verdadero salto.

¿Qué hago después de aprender lo básico? Da el salto a un framework. Para web tienes Django o FastAPI, que cubro junto a otros en los frameworks más usados en 2026; o métete en ciencia de datos e IA, donde Python es el rey.

Conclusión

Python es un lenguaje que escala contigo. Lo que aprendiste hoy te servirá cuando hagas web scraping, APIs, machine learning, o automatización.

El secreto es practicar. No solo leas — escribe código, rompe cosas, y construye proyectos. La calculadora que hicimos es solo el inicio.

¿Qué proyecto vas a construir con Python? Cuéntame en mis redes.


¿Te sirvió este tutorial? Compártelo con alguien que quiera aprender Python. Y sígueme para más tutoriales prácticos.

Sigue leyendo