Lógica Python: condiciones, bucles y funciones

Actualizado el: 20/08/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

    notebook com código saindo da tela
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Variables: asignación, tipos y alcance en Python

    Aprende variables en Python: asignación, nombres, tipos, conversiones, referencias, mutabilidad, alcance, constantes, None y errores frecuentes.

    Ler mais

    Tempo de leitura: 4 minutos
    12/07/2026
    Diferença entre operadores is e == em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    == vs is en Python: igualdad vs identidad

    Entiende la diferencia entre == e is en Python, igualdad, identidad, None, interning, copias superficiales, deepcopy y objetos personalizados.

    Ler mais

    Tempo de leitura: 4 minutos
    12/07/2026
    Menu interativo no terminal criado com Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Menú interactivo en terminal con Python

    Crea un menú interactivo en Python con while, funciones, diccionarios, validación, submenús, persistencia JSON y manejo seguro de errores.

    Ler mais

    Tempo de leitura: 4 minutos
    12/07/2026
    ícone de loop com o texto 'While' abaixo
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    while: repite acciones con condiciones en Python

    Aprende bucles while en Python con condiciones, validación, menús, break, continue, else, centinelas, reintentos y buenas prácticas.

    Ler mais

    Tempo de leitura: 5 minutos
    11/07/2026
    Imagem de um quadro negro com várias interrogações no lugar de lâmpadas, e uma lâmpada conectada no meio
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    if, elif y else: lógica condicional en Python

    Aprende if, elif y else en Python con comparaciones, operadores lógicos, validación, rangos, menús, retornos tempranos y pruebas.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026
    Manipulação de dados JSON em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    JSON en Python: leer, escribir y validar datos

    Aprende JSON en Python con load, loads, dump, dumps, archivos UTF-8, validación, APIs, Decimal, fechas y escritura segura.

    Ler mais

    Tempo de leitura: 4 minutos
    11/07/2026