PYTHON – DÍA 3
Condicionales, bucles y colecciones esenciales
(Día intenso pero fundamental)
1. Objetivo del día
Hoy aprenderás la lógica central de cualquier script real:
- tomar decisiones (
if,elif,else) - repetir acciones (
while,for) - manejar colecciones básicas: listas, tuplas y diccionarios
Este es el día más intenso del curso, pero también el más importante para poder construir automatizaciones útiles a partir del Día 4.
2. Teoría esencial (5–10 minutos)
2.1. Condicionales
Se usan para tomar decisiones basadas en condiciones.
if condicion:
# bloque
elif otra_condicion:
# bloque
else:
# bloque final
Comparadores:
==,!=<,>,<=,>=
Lógicos:
and,or,not
Ejemplo:
edad = 20
if edad >= 18:
print("Mayor de edad")
else:
print("Menor de edad")
2.2. Bucles
Bucle while
Repetir mientras la condición sea verdadera.
contador = 0
while contador < 5:
print(contador)
contador += 1
Bucle for
Recorrer elementos de una secuencia.
for numero in range(5):
print(numero)
2.3. Colecciones esenciales
Son la base del manejo real de datos en Python.
Listas (list)
Modificables. Ordenadas.
usuarios = ["admin", "monitor", "devops", "invitado"]
print(usuarios[0])
print(usuarios[-1])
usuarios.append("soporte")
Recorrer lista:
for u in usuarios:
print(u)
Tuplas (tuple)
Como listas pero inmutables.
coordenadas = (10, 20)
print(coordenadas[0])
Diccionarios (dict)
Clave → valor. Muy usados en APIs, JSON, servicios…
servidor = {
"nombre": "web01",
"ip": "192.168.1.10",
"estado": "activo"
}
print(servidor["ip"])
Recorrer:
for clave, valor in servidor.items():
print(clave, ":", valor)
3. Práctica guiada (aprox. 50 minutos)
3.1. Condicional simple
Crear:
nano mayor_edad.py
Contenido:
edad = int(input("Introduce tu edad: "))
if edad >= 18:
print("Eres mayor de edad.")
else:
print("Eres menor de edad.")
3.2. Condicional múltiple
Crear:
nano clasificar_nota.py
Contenido:
nota = float(input("Introduce tu nota (0-10): "))
if nota < 5:
print("Suspenso")
elif nota < 7:
print("Aprobado")
elif nota < 9:
print("Notable")
else:
print("Sobresaliente")
3.3. Bucle while
Crear:
nano contador.py
Contenido:
limite = int(input("¿Hasta qué número quieres contar? "))
contador = 1
while contador <= limite:
print(contador)
contador += 1
3.4. Bucle for con range
Crear:
nano for_range.py
Contenido:
for numero in range(1, 6):
print("Número:", numero)
Prueba:
range(0, 10, 2)range(10, 0, -1)
3.5. Recorrer una lista
nano lista_usuarios.py
Contenido:
usuarios = ["admin", "monitor", "devops", "invitado"]
for usuario in usuarios:
print("Usuario:", usuario)
3.6. Recorrer un diccionario
nano servidor_info.py
Contenido:
servidor = {
"nombre": "web01",
"ip": "192.168.1.10",
"estado": "activo"
}
for clave, valor in servidor.items():
print(clave, ":", valor)
3.7. Colecciones combinadas (ejemplo profesional)
nano usuarios_roles.py
Contenido:
usuarios = [
{"nombre": "admin", "rol": "root"},
{"nombre": "monitor", "rol": "lectura"},
{"nombre": "devops", "rol": "deploy"}
]
for u in usuarios:
print("Nombre:", u["nombre"], "- Rol:", u["rol"])
Esta estructura (lista de diccionarios) es muy usada en sysadmin/devops.
4. Checklist del Día 3
- Has usado condicionales
- Has usado
elifcorrectamente - Has creado bucles
whileyfor - Has recorrido listas
- Has recorrido diccionarios
- Has entendido tuplas y listas
- Has manipulado colecciones combinadas
5. Errores frecuentes
| Problema | Solución |
|---|---|
Falta el : en if, elif, while, for | Recordar siempre el dos puntos |
| Bucle infinito | Actualizar la variable dentro del while |
| Error en diccionarios: clave no encontrada | Revisar nombres exactos: servidor["ip"] |
Confundir = con == | = asigna; == compara |
| Error con índices negativos | lista[-1] es el último, lista[-2] el penúltimo |
6. Ejercicio opcional (con solución aparte)
Crear un script menu_sysadmin.py que:
- Muestre un menú en bucle (
while) - Permita elegir:
- Listar usuarios
- Listar servicios
- Mostrar servidor ficticio (diccionario)
- Salir
- Ejecute la opción seleccionada
- No termine hasta que se elija “Salir”
La solución estará en:Soluciones propuestas
7. Día 3 completado
Has completado uno de los días más importantes del curso.
A partir de aquí, tienes la base para crear scripts útiles y lógicos.
En el Día 4, aprenderemos a:
- definir funciones
- reutilizar código
- separar lógica en módulos
- organizar mejor tus scripts
