Please enable JavaScript.
Coggle requires JavaScript to display documents.
ESTRUCTURAS DE CONTROL ANIDADAS (Semana 9) - Coggle Diagram
ESTRUCTURAS DE CONTROL ANIDADAS (Semana 9)
CONCEPTOS CLAVE
Definición
Estructura dentro de otra
Propósito
Resolver problemas complejos
Mayor eficiencia
Sangría (Indentation)
Define pertenencia de instrucciones
Se suma en cada nivel
Límites
Máximo 3 o 4 niveles
Más niveles = mala legibilidad
Solución
Usar funciones
EJEMPLO 1
Números primos
Tiene exactamente 2 divisores (1 y sí mismo)
Código
n = int(input())
divisores = []
for i in range(1, n + 1):
if n % i == 0: (Condicional interno)
divisores.append(i) (Doble sangría)
if len(divisores) == 2: (Condicional externo)
True: Es primo
False: No es primo
EJEMPLO 2
Números aleatorios distintos
Herramientas
import random
random.randint(10, 100)
Control
while len(numeros) < 3:
if n not in numeros:
numeros.append(n) (Evita repetidos)
Propósito
3 números distintos entre 10 y 100
EJEMPLO 3
Doble lazo anidado
Propósito
3 números primos aleatorios distintos
Niveles
Nivel 1
while
Controla total de primos
Nivel 2
if n not in primos:
Evita repetidos
Nivel 3
for i in range...
Busca divisores
Nivel 4
if len(divisores) == 2
Verifica primo
Comportamiento
El .append() final solo se ejecuta 3 veces
El for interno es lo que más se ejecuta
Más anidación = más complejidad