Unidad 03 · Python intermedio
Condiciones, bucles y estructuras
Un programa deja de ser una calculadora cuando puede decidir (condiciones), repetir (bucles) y agrupar datos (listas, tuplas, sets y diccionarios). Cada subtema incluye un mini ejemplo que puedes ejecutar aquí mismo.
3.1 · Condiciones
El programa decide con if
Una condición evalúa una expresión a True o False y ejecuta el bloque indentado solo cuando se cumple. Los dos puntos : abren el bloque y la indentación (4 espacios) define qué instrucciones dependen de la condición.
if
Ejecuta el bloque solo si la condición se cumple. Si no se cumple, Python simplemente continúa con la siguiente línea.
carga = 18
if carga > 15:
print("Carga alta")
print("Revisar la seccion")
print("Fin del chequeo") carga vale 18, mayor que 15: se ejecutan las dos líneas del bloque. La última línea se imprime siempre.
if / else
else define qué ocurre cuando la condición no se cumple. Siempre hay un camino para cada caso.
temperatura = 35
if temperatura > 40:
print("Alarma de calor")
else:
print("Temperatura dentro del rango")
print("Lectura finalizada") 35 no supera 40, por eso se ejecuta la rama else.
if / elif / else
Cuando hay varios casos posibles, elif evalúa una segunda condición. Python revisa las condiciones en orden y ejecuta solo el primer bloque verdadero; si ninguno se cumple, ejecuta else.
nota = 85
if nota >= 90:
print("Excelente")
elif nota >= 70:
print("Aprobado")
else:
print("Reprobado") 85 no llega a 90, pero sí alcanza 70: se imprime Aprobado y se ignoran los demás bloques.
Comparadores: > mayor, < menor, >= mayor o igual, <= menor o igual, == igual a, != distinto de.
3.2 · Listas
Listas: colecciones ordenadas y modificables
Una lista guarda muchos valores en una sola variable, entre corchetes [ ]. Mantienen el orden, permiten duplicados y se pueden modificar después de crearlas. El índice empieza en 0. Conocerlas es el paso previo para recorrerlas con un bucle.
cotas = [12.5, 13.0, 11.8]
cotas.append(12.2)
print(cotas)
print(cotas[0])
print(len(cotas)) append() agrega un elemento al final; len() indica cuántos elementos tiene la lista.
lista[0]accede al primer elemento.lista.append(x)agrega un elemento al final.lista.remove(x)elimina la primera aparición de x.
3.3 · Bucles
Repetir con for y while
Un bucle ejecuta un bloque de instrucciones varias veces sin escribir el código repetidamente. for recorre una secuencia; while repite mientras una condición sea verdadera.
for
range(4) genera los valores 0, 1, 2 y 3: el bucle se ejecuta cuatro veces. También puedes recorrer los elementos de una lista directamente.
for tramo in range(4):
print("Tramo", tramo + 1)
print("Recorrido terminado") Cuatro repeticiones: una por cada valor que genera range(4).
cotas = [12.5, 13.0, 11.8]
total = 0
for c in cotas:
total = total + c
print(total) El bucle suma cada cota al total, que termina en 37.3.
while
while repite el bloque mientras la condición sea verdadera. Es obligatorio actualizar la variable de control dentro del bloque: si no, el bucle nunca termina.
contador = 1
while contador <= 3:
print("Vuelta", contador)
contador = contador + 1
print("Listo") El contador crece en cada vuelta hasta llegar a 4 y salir del bucle.
Cuidado: si la condición del while nunca se vuelve falsa, el programa queda en un bucle infinito y hay que detenerlo.
3.4 · Tuplas
Tuplas: colecciones ordenadas e inmutables
Una tupla se escribe entre paréntesis ( ) y funciona igual que una lista, salvo que no se puede modificar después de creada. Es ideal para datos que no deben cambiar, como coordenadas o un par de valores relacionados.
coordenada = (19.4326, -99.1332)
print(coordenada[0])
print(coordenada[1])
print(len(coordenada)) Se accede a cada valor por su índice, igual que en una lista.
Intentar modificar una tupla produce un error
Python protege la inmutabilidad de las tuplas y lanza un TypeError si intentas asignar un valor a una posición.
coordenada = (19.43, -99.13)
coordenada[0] = 0 TypeError: 'tuple' object does not support item assignment
3.5 · Sets
Sets: colecciones sin repetidos
Un set (conjunto) se escribe entre llaves y no admite elementos repetidos ni garantiza un orden. Es perfecto para eliminar duplicados y para preguntar si un elemento pertenece a la colección.
materiales = {"acero", "concreto", "acero"}
print(len(materiales))
print("acero" in materiales)
print("madera" in materiales) El "acero" repetido desaparece: el set guarda 2 elementos distintos.
add(x)agrega un elemento (si ya existe, no cambia nada).x in setcomprueba si el elemento pertenece al conjunto.len(set)cuenta los elementos únicos.
3.6 · Diccionarios
Diccionarios: datos con etiqueta
Un diccionario guarda pares de clave: valor. En lugar de acceder por posición, accedes por la etiqueta que le diste, lo que vuelve el código mucho más legible cuando manejas registros de datos.
columna = {"id": "C-1", "carga": 250, "material": "concreto"}
print(columna)
print(columna["carga"])
columna["carga"] = 275
print(columna["carga"]) Se lee un valor con su clave ["carga"] y se actualiza asignando un valor nuevo.
claveidentifica al dato; no puede repetirse dentro del diccionario.dic["clave"]devuelve el valor asociado.dic["clave"] = nuevo_valoractualiza o agrega la clave.
¿Cuál elijo? Lista cuando el orden importa y todo es modificable; tupla cuando los datos no deben cambiar; set para eliminar duplicados; diccionario para acceder por nombre.
Siguiente paso