Lógica de programación con Python para principiantes

Publicado el: 11/07/2026
Tempo de leitura: 4 minutos
Programador resolvendo problemas com Python

La lógica de programación con Python consiste en transformar un problema en una secuencia clara de pasos que una computadora pueda ejecutar. Antes de aprender bibliotecas o frameworks, necesitas comprender entradas, salidas, variables, condiciones, repeticiones, funciones y estructuras de datos. Estos elementos aparecen en casi todos los programas.

En esta guía construirás una base práctica mediante algoritmos, pseudocódigo y ejemplos en Python. También desarrollarás un pequeño sistema de notas con validación. Para profundizar en el concepto general, consulta la guía sobre algoritmos en programación.

Del problema al algoritmo

Un algoritmo es una secuencia finita de instrucciones. Antes de escribir código, responde estas preguntas:

  • ¿Qué datos recibe el programa?
  • ¿Qué resultado debe producir?
  • ¿Qué reglas o restricciones existen?
  • ¿Qué casos especiales pueden aparecer?
  • ¿Cómo sabrás que el resultado es correcto?

Por ejemplo, para calcular el promedio de tres notas:

  1. Leer las tres notas.
  2. Comprobar que estén entre 0 y 10.
  3. Sumarlas.
  4. Dividir el total entre tres.
  5. Mostrar el promedio y la situación del estudiante.

Escribir pseudocódigo

El pseudocódigo describe la solución sin depender de la sintaxis exacta de un lenguaje.

INICIO
    LEER nota1, nota2, nota3
    SI alguna nota está fuera de 0 a 10
        MOSTRAR error
    SI NO
        promedio = (nota1 + nota2 + nota3) / 3
        MOSTRAR promedio
    FIN SI
FIN

Este paso permite revisar la lógica antes de preocuparte por paréntesis, sangría o nombres de funciones.

Entrada, procesamiento y salida

nombre = input("Nombre: ").strip()
precio = float(input("Precio: "))
cantidad = int(input("Cantidad: "))

total = precio * cantidad
print(f"{nombre}, el total es {total:.2f}")

La entrada llega como texto y debe convertirse cuando representa números. La guía de entrada y salida en Python explica input(), print(), conversiones y archivos.

Variables y tipos

Una variable asocia un nombre con un valor. Elige nombres que indiquen significado:

edad_usuario = 24
saldo_disponible = 150.75
nombre_completo = "Laura Gómez"
cuenta_activa = True

Los tipos influyen en las operaciones disponibles. Una cadena se concatena; un número se suma; una lista almacena una secuencia. Cuando un resultado parece extraño, comprueba el tipo con type().

Tomar decisiones con if

edad = 20

if edad < 0:
    print("Edad no válida")
elif edad < 18:
    print("Menor de edad")
else:
    print("Mayor de edad")

Las ramas deben ser mutuamente comprensibles. Ordena primero los casos inválidos o específicos y deja el caso general para el final. El tutorial oficial sobre sentencias if muestra su sintaxis.

Repetir tareas

Usa for para recorrer una colección o secuencia conocida:

notas = [7.5, 8.0, 6.5]

total = 0
for nota in notas:
    total += nota

promedio = total / len(notas)
print(promedio)

Usa while cuando la repetición dependa de una condición:

intentos = 3

while intentos > 0:
    clave = input("Clave: ")

    if clave == "python123":
        print("Acceso permitido")
        break

    intentos -= 1
else:
    print("Acceso bloqueado")

La guía de bucles en Python cubre for, while, break y continue.

Dividir el problema en funciones

def calcular_promedio(notas):
    if not notas:
        raise ValueError("La lista no puede estar vacía")

    return sum(notas) / len(notas)


def esta_aprobado(promedio, minimo=6.0):
    return promedio >= minimo

Una función recibe datos, realiza una responsabilidad y devuelve un resultado. Separar tareas facilita probar y reutilizar la solución. Consulta la guía de funciones en Python.

Elegir estructuras de datos

Una lista es adecuada para varias notas. Un diccionario permite asociar campos con valores.

estudiante = {
    "nombre": "Marcos",
    "notas": [7.0, 8.5, 9.0],
    "activo": True,
}

promedio = calcular_promedio(estudiante["notas"])
print(estudiante["nombre"], promedio)

La guía de diccionarios en Python explica claves, valores y acceso seguro.

Validar antes de procesar

def leer_nota(mensaje):
    while True:
        texto = input(mensaje).strip()

        try:
            nota = float(texto)
        except ValueError:
            print("Escribe un número")
            continue

        if not 0 <= nota <= 10:
            print("La nota debe estar entre 0 y 10")
            continue

        return nota

La validación impide que datos imposibles lleguen al cálculo. Captura solamente los errores esperados y muestra una explicación útil.

Proyecto: sistema de notas

def leer_nota(mensaje):
    while True:
        try:
            nota = float(input(mensaje))
        except ValueError:
            print("Valor no válido")
            continue

        if 0 <= nota <= 10:
            return nota

        print("La nota debe estar entre 0 y 10")


def calcular_promedio(notas):
    return sum(notas) / len(notas)


def clasificar(promedio):
    if promedio >= 9:
        return "Excelente"
    if promedio >= 6:
        return "Aprobado"
    return "Debe recuperar"


def main():
    nombre = input("Nombre del estudiante: ").strip()
    notas = []

    for numero in range(1, 4):
        notas.append(leer_nota(f"Nota {numero}: "))

    promedio = calcular_promedio(notas)
    situacion = clasificar(promedio)

    print(f"Estudiante: {nombre}")
    print(f"Promedio: {promedio:.2f}")
    print(f"Situación: {situacion}")


if __name__ == "__main__":
    main()

El programa separa entrada, validación, cálculo, clasificación y presentación. Esta organización facilita cambiar el número de notas o la regla de aprobación.

Rastrear una ejecución manualmente

Cuando un algoritmo falla, crea una tabla con los valores de las variables en cada paso. Para una lista [4, 2, 7], registra el valor del acumulador después de cada iteración. Esta técnica revela condiciones incorrectas y actualizaciones ausentes.

Casos de prueba

Comprueba al menos:

  • Notas normales.
  • Valores límite, como 0, 6 y 10.
  • Lista vacía.
  • Texto en lugar de números.
  • Valores negativos o mayores que 10.

La documentación de funciones integradas de Python sirve como referencia para herramientas como sum(), len(), min() y max().

Errores frecuentes de lógica

  • Confundir la condición que continúa con la que detiene un bucle.
  • Olvidar actualizar una variable dentro de while.
  • Usar and cuando la regla necesita or.
  • Dividir entre una cantidad incorrecta.
  • No validar una lista vacía.
  • Modificar una colección mientras se recorre.
  • Mezclar entrada, cálculo y salida en un bloque difícil de probar.

Cómo practicar

Resuelve problemas pequeños: conversor de unidades, tabla de multiplicar, menú de tareas, cálculo de descuentos, búsqueda de mayor valor y contador de palabras. Primero escribe entradas, salidas y pseudocódigo; después implementa; finalmente prueba casos normales y límites.

Conclusión

La lógica de programación con Python se construye aprendiendo a descomponer problemas. Define claramente las entradas, las reglas y la salida; utiliza condiciones para decidir, bucles para repetir, funciones para dividir responsabilidades y estructuras adecuadas para representar datos.

No busques memorizar soluciones completas. Practica el proceso: comprender, planificar, implementar, probar y corregir. Esa secuencia es aplicable a programas pequeños y a sistemas mucho más complejos.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Contenido del artículo

    Artículos relacionados

    Ilustração que representa um algoritmo
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Qué es un algoritmo en programación: guía práctica

    Aprende qué es un algoritmo en programación con ejemplos cotidianos, pseudocódigo, diagramas, Python, complejidad, pruebas y buenas prácticas.

    Ler mais

    Tempo de leitura: 5 minutos
    11/07/2026
    Logo do Python com expressão pensativa e o texto range(), representando a função range no Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    range() en Python: guía completa con ejemplos

    Aprende range() en Python con start, stop, step, conteos regresivos, índices, rendimiento, errores frecuentes y ejemplos prácticos.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    texto 'operadores em Python' com os simbolos de operadores e o logo do Python à direita
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Operadores en Python: tipos y ejemplos prácticos

    Aprende los operadores en Python: aritméticos, comparación, asignación, lógicos, pertenencia, identidad, bits, sets y precedencia.

    Ler mais

    Tempo de leitura: 5 minutos
    11/07/2026
    texto 'None' centralizado com um fundo com as cores do Pyton
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    None en Python: significado y buenas prácticas

    Aprende qué significa None en Python, cómo compararlo, usar parámetros opcionales, distinguir valores ausentes y evitar errores comunes.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Ilustração representando conjuntos (sets) em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Sets en Python: guía completa para principiantes

    Aprende sets en Python: valores únicos, pertenencia, unión, intersección, diferencia, subconjuntos, frozenset, comprensiones y ejemplos.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Código Python com valores Boolean True e False em tela de computador
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Booleanos en Python: True, False y lógica

    Aprende booleanos en Python con True, False, comparaciones, operadores lógicos, valores truthy y falsy, cortocircuito y validación.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026