← Python EspañolChapter 04 of 13

Control de Flujo

## Objetivos de Aprendizaje - Dominar declaraciones if, elif, else - Entender bucles for y while - Aprender break, continue, pass - Trabajar con range() y enumerate() ## Declaración if ### if Básico ```python edad = 18 if edad >= 18: print("Adulto") ``` ### if-else ```python edad = 15 if edad >= 18: print("Adulto") else: print("Menor") ``` ### if-elif-else ```python puntuacion = 85 if puntuacion >= 90: nota = "A" elif puntuacion >= 80: nota = "B" elif puntuacion >= 70: nota = "C" elif puntuacion >= 60: nota = "D" else: nota = "F" print(f"Nota: {nota}") # B ``` ### Expresión Ternaria ```python edad = 20 estado = "adulto" if edad >= 18 else "menor" print(estado) # adulto ``` ## Operadores de Comparación ### Comparaciones Encadenadas ```python x = 5 if 1 < x < 10: print("x está entre 1 y 10") ``` ## Bucle for ### Bucle for Básico ```python for i in range(5): print(i) # 0, 1, 2, 3, 4 ``` ### Iterar sobre Secuencias ```python frutas = ["manzana", "plátano", "cereza"] for fruta in frutas: print(fruta) ``` ### Range ```python # range(stop) for i in range(5): print(i) # 0 a 4 # range(start, stop) for i in range(2, 6): print(i) # 2 a 5 # range(start, stop, step) for i in range(0, 10, 2): print(i) # 0, 2, 4, 6, 8 # Reversa for i in range(5, 0, -1): print(i) # 5, 4, 3, 2, 1 ``` ### enumerate() ```python frutas = ["manzana", "plátano", "cereza"] for indice, fruta in enumerate(frutas): print(f"{indice}: {fruta}") # 0: manzana # 1: plátano # 2: cereza # Empezar desde 1 for indice, fruta in enumerate(frutas, start=1): print(f"{indice}: {fruta}") ``` ### zip() ```python nombres = ["Ana", "Bob", "Carlos"] edades = [25, 30, 35] for nombre, edad in zip(nombres, edades): print(f"{nombre} tiene {edad}") # Ana tiene 25 # Bob tiene 30 # Carlos tiene 35 ``` ### Iterar sobre Diccionarios ```python persona = {"Nombre": "Ana", "edad": 25, "ciudad": "Madrid"} # Claves for clave in persona: print(clave) # Claves explícitamente for clave in persona.keys(): print(clave) # Valores for valor in persona.values(): print(valor) # Pares clave-valor for clave, valor in persona.items(): print(f"{clave}: {valor}") ``` ## Bucle while ### while Básico ```python contador = 0 while contador < 5: print(contador) contador += 1 ``` ### while-else ```python contador = 0 while contador < 5: print(contador) contador += 1 else: print("Bucle completado normalmente") # Salida: 0, 1, 2, 3, 4, "Bucle completado normalmente" ``` ## Control de Bucle ### break ```python for i in range(10): if i == 5: break print(i) # 0, 1, 2, 3, 4 ``` ### continue ```python for i in range(5): if i == 2: continue print(i) # 0, 1, 3, 4 (omite 2) ``` ### pass ```python for i in range(5): if i == 2: pass # No hacer nada, continuar else: print(i) ``` ## Bucles Anidados ```python for i in range(3): for j in range(3): print(f"({i}, {j})", end=" ") print() # (0, 0) (0, 1) (0, 2) # (1, 0) (1, 1) (1, 2) # (2, 0) (2, 1) (2, 2) ``` ## List Comprehensions ### Básica ```python cuadrados = [x ** 2 for x in range(5)] print(cuadrados) # [0, 1, 4, 9, 16] ``` ### Con Condición ```python pares = [x for x in range(10) if x % 2 == 0] print(pares) # [0, 2, 4, 6, 8] # También funciona: # impares = [x for x in range(10) if x % 2 != 0] ``` ### Anidadas ```python matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] plana = [num for fila in matriz for num in fila] print(plana) # [1, 2, 3, 4, 5, 6, 7, 8, 9] ``` ## Dictionary Comprehensions ```python cuadrados = {x: x ** 2 for x in range(5)} print(cuadrados) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} nombres = ["Ana", "Bob", "Carlos"] longitudes = {nombre: len(nombre) for nombre in nombres} print(longitudes) # {'Ana': 3, 'Bob': 3, 'Carlos': 6} ``` ## Set Comprehensions ```python numeros = [1, 2, 2, 3, 3, 4, 5, 5] cuadrados_unicos = {x ** 2 for x in numeros} print(cuadrados_unicos) # {1, 4, 9, 16, 25} ``` ## Expresiones Generadoras ```python # Como list comprehension pero perezoso cuadrados_gen = (x ** 2 for x in range(5)) print(cuadrados_gen) # for sq in cuadrados_gen: print(sq) ``` ## Patrones Comunes ### Encontrar en Lista ```python numeros = [1, 5, 3, 8, 2] objetivo = 8 if objetivo in numeros: print(f"Encontrado {objetivo}") else: print(f"{objetivo} no encontrado") ``` ### Encontrar Índice ```python numeros = [1, 5, 3, 8, 2] objetivo = 8 for i, num in enumerate(numeros): if num == objetivo: print(f"Encontrado en índice {i}") break else: print("No encontrado") ``` ### Sumar y Contar ```python numeros = [1, 2, 3, 4, 5] total = sum(numeros) cantidad = len(numeros) promedio = total / cantidad print(f"Suma: {total}, Cantidad: {cantidad}, Promedio: {promedio}") ``` ## Resumen - if/elif/else para lógica condicional - Los bucles for iteran sobre secuencias - Los bucles while repiten mientras la condición sea verdadera - range() genera secuencias de números - enumerate() da índice y valor - zip() itera sobre múltiples secuencias - break sale del bucle, continue salta a la siguiente iteración - List comprehensions: `[expr for item in iterable if condition]` - Usa indentación para definir bloques

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →