Condicionales y Bucles en Python

Condicionales (if, elif, else)

Permiten ejecutar bloques de código solo si se cumple una condición (un booleano).

  • if: "Si ocurre esto...".

  • elif (else if): "Si lo anterior no se cumplió, pero ocurre esto otro...". Puedes poner tantos como necesites.

  • else: "Si no se ha cumplido nada de lo anterior...". Es el caso por defecto.

Regla de oro: No olvides los dos puntos : al final de cada sentencia y la indentación en las líneas siguientes.

Introducción a los Bucles

Los bucles repiten código.

  1. Bucle while (Mientras): Se ejecuta mientras una condición sea verdadera.

    • Peligro: Si la condición nunca es falsa, creas un bucle infinito.

    • Uso en sistemas: Mantener un script de monitoreo encendido hasta que el administrador pulse "Salir".

  2. Bucle for (Para): Ideal para iterar sobre una secuencia (una lista, un rango de números o un texto).

    • Se usa mucho con la función range().

    • Uso en sistemas: "Para cada archivo en esta carpeta, cámbiale el nombre".


Ejemplo aplicado: Monitor de Temperatura

temperatura = 75

if temperatura > 80:
    print("ALERTA: Apagando servidor por sobrecalentamiento.")
elif temperatura > 70:
    print("AVISO: Ventiladores al 100%.")
else:
    print("Estado: Normal.")


Dos formas distintas de salir de un bucle (while o for)

1. Usar una variable booleana

Una variable booleana es una variable que solo puede tener dos valores:
True (verdadero) o False (falso)

Se usa como “interruptor” para controlar cuándo termina el bucle.

Ejemplo:

seguir = True

while seguir:
texto = input("Escribe 'salir' para terminar: ")

if texto == "salir":
seguir = False

Aquí:

  • El bucle continúa mientras seguir sea True
  • Cuando pasa a False, el bucle termina


2. Usar break

break es una instrucción que rompe el bucle inmediatamente, sin necesidad de variable.

Ejemplo:

while True:
texto = input("Escribe 'salir' para terminar: ")

if texto == "salir":
break

Aquí:

  • El bucle es infinito (while True)
  • Se detiene directamente cuando aparece break

Diferencia clave

  • Variable booleana → control más “ordenado” y visible. Variable booleana = “una condición que decide si seguimos”
  • break → más directo y práctico. break = “salida de emergencia del bucle”



Actividad práctica

  1. Clasificador de Direcciones IP:

    • Crea un script que pida el primer octeto de una IP (un número de 0 a 255).

    • Si está entre 1 y 126, imprime "Clase A".

    • Si está entre 128 y 191, imprime "Clase B".

    • Si está entre 192 y 223, imprime "Clase C".

    • Para cualquier otro caso, imprime "IP de prueba o fuera de rango".

  2. Contador de Reintentos (While):

    • Simula un inicio de sesión. El script debe pedir una contraseña en un bucle while.

    • Si el usuario falla, el bucle sigue pidiendo la clave.

    • Si acierta, imprime "Acceso concedido" y el bucle termina (usa una variable booleana o break).

  3. Escaneo de Puertos (For):

    • Usa un bucle for con range() para simular el escaneo de los puertos del 20 al 25.

    • En cada iteración, el script debe imprimir: "Probando conexión en puerto: [número]".

    • Si el puerto es el 22, debe añadir: "-> ¡SSH Detectado!".