ESTRUCTURAS DE CONTROL EN PYTHON · Estructuras de Control en Python

Recuperación IA 2026 es un examen público disponible en TesIA Exam con preguntas de 1 bloques. Esta ficha pública reúne preguntas con respuesta correcta y explicación para estudiar por examen completo. Se presenta como un examen general o transversal, por lo que agrupa preguntas de varios bloques sin quedar asociado a un único tema público.

25 preguntas Estructuras de Control en Python Referencia: Recuperación IA 2026

Qué puedes encontrar en este examen

Cada URL pública de examen sirve para localizar el contenido, entender qué bloques toca y revisar preguntas reales antes de abrir la práctica completa.

Examen general de varios temas

Preguntas, respuestas y explicaciones del examen

Listado público de preguntas asociadas a este examen, con respuesta correcta y explicación cuando está disponible.

#1

8. ¿Cuál es el valor booleano resultante de una lista que contiene un solo elemento cero [0]?

  1. A) False
  2. B) None
  3. C) True
  4. D) Error
Respuesta correcta

C) True

Explicación:

La respuesta correcta es C. La respuesta correcta es True[cite: 235, 238].
En Python, cualquier colección (lista, tupla, etc.) que no esté vacía se evalúa como verdadera en un contexto booleano, independientemente del contenido[cite: 235]. Una lista vacía [] sí se evaluaría como False.

#2

10. ¿Qué operador lógico tiene menor precedencia (se evalúa al final)?

  1. A) not
  2. B) and
  3. C) or
  4. D) Operadores relacionales (<, >)
Respuesta correcta

C) or

Explicación:

La respuesta correcta es C. La respuesta correcta es or.
En la jerarquía de operadores lógicos de Python, el orden de evaluación es: primero 'not', luego 'and' y finalmente 'or'.

#3

1. En el patrón de diseño IPD (Input-Process-Output), ¿en qué fase se sitúa el cálculo de una fórmula matemática?

  1. A) Entrada (Input).
  2. B) Procesamiento (Process).
  3. C) Salida (Output).
  4. D) Depuración (Debug).
Respuesta correcta

B) Procesamiento (Process).

Explicación:

La respuesta correcta es B. La respuesta correcta es Procesamiento (Process).
Según el modelo fundamental de algoritmos, la fase de procesamiento es donde se ejecutan las operaciones lógicas y cálculos sobre los datos.

#4

12. ¿Qué acción realiza la instrucción 'break' dentro de un bucle?

  1. A) Salta a la siguiente iteración ignorando el resto del bloque.
  2. B) Reinicia el bucle desde el principio.
  3. C) Termina inmediatamente la ejecución del bucle actual.
  4. D) Pausa el programa hasta que el usuario pulse una tecla.
Respuesta correcta

C) Termina inmediatamente la ejecución del bucle actual.

Explicación:

La respuesta correcta es C. La respuesta correcta es que termina inmediatamente la ejecución del bucle.
Al encontrar un 'break', el intérprete sale del bucle 'for' o 'while' y continúa con el código que sigue fuera de él.

#5

9. ¿Qué sucede en la ejecución si un bloque 'if' resulta ser falso y no existe una cláusula 'else'?

  1. A) Se detiene la ejecución del programa.
  2. B) Lanza un error de sintaxis.
  3. C) El programa salta el bloque y continúa con la siguiente instrucción.
  4. D) Ejecuta el bloque indentado de todas formas.
Respuesta correcta

C) El programa salta el bloque y continúa con la siguiente instrucción.

Explicación:

La respuesta correcta es C. La respuesta correcta es que el programa salta el bloque y continúa.
Al ser la condición falsa, Python ignora el código indentado bajo el 'if' y sigue con la ejecución lineal del script.

#6

15. En el uso de la función 'enumerate()', ¿en qué número comienza el índice por defecto?

  1. A) 1
  2. B) -1
  3. C) 0
  4. D) Depende de la longitud de la lista
Respuesta correcta

C) 0

Explicación:

La respuesta correcta es C. La respuesta correcta es 0.
Al iterar con 'enumerate', el contador automático empieza siempre en cero para alinearse con la indexación estándar de Python. No obstante, se puede cambiar el inicio pasando un argumento opcional.

#7

16. ¿Cuál es el límite por defecto aproximado de recursividad en el intérprete de Python?

  1. A) 100 llamadas
  2. B) 10.000 llamadas
  3. C) 1.000 llamadas.
  4. D) No tiene límite.
Respuesta correcta

C) 1.000 llamadas.

Explicación:

La respuesta correcta es C. La respuesta correcta es 1.
000 llamadas. Este límite existe para prevenir desbordamientos de la pila de memoria (stack overflow) causados por funciones recursivas infinitas.

#8

6. ¿Qué diferencia existe entre el operador '==' y el operador 'is' en Python?

  1. A) '==' es para asignar e 'is' es para comparar.
  2. B) '==' compara valores mientras que 'is' compara la identidad en memoria.
  3. C) Son sinónimos y se pueden intercambiar siempre.
  4. D) 'is' se usa solo para números enteros.
Respuesta correcta

B) '==' compara valores mientras que 'is' compara la identidad en memoria.

Explicación:

La respuesta correcta es B. La respuesta correcta es que '==' compara valores mientras que 'is' compara identidad.
'==' verifica si el contenido es igual, pero 'is' comprueba si ambos nombres apuntan exactamente al mismo objeto en la RAM.

#9

23. ¿Qué garantiza el uso de un Context Manager mediante la sentencia 'with'?

  1. A) Que el programa se ejecute más rápido.
  2. B) Que los recursos se liberen (como cerrar archivos) aunque ocurra una excepción.
  3. C) Que no existan errores de sintaxis en el código.
  4. D) Que las variables globales se conviertan automáticamente en locales.
Respuesta correcta

B) Que los recursos se liberen (como cerrar archivos) aunque ocurra una excepción.

Explicación:

La respuesta correcta es B. La respuesta correcta es que garantiza la liberación de recursos.
Al usar 'with', Python se asegura de llamar al método de cierre de recursos automáticamente al salir del bloque, incluso si ha habido un error interno.

#10

22. ¿Por qué se considera una mala práctica usar 'except Exception: ' de forma genérica?

  1. A) Porque consume demasiada memoria del sistema.
  2. B) Porque atrapa señales de control como CTRL+C impidiendo detener el programa.
  3. C) Porque solo funciona para errores de tipo matemático.
  4. D) Porque obliga a usar obligatoriamente un bloque 'finally'.
Respuesta correcta

B) Porque atrapa señales de control como CTRL+C impidiendo detener el programa.

Explicación:

La respuesta correcta es B. La respuesta correcta es que atrapa señales de control como CTRL+C.
Usar una captura genérica oculta errores que el programador no previó y puede impedir que el usuario detenga el programa manualmente.

#11

11. ¿Cuál es la característica principal del bucle 'while'?

  1. A) Se ejecuta un número fijo de veces definido al inicio.
  2. B) Repite un bloque de código mientras una condición sea True.
  3. C) Solo sirve para recorrer listas de números.
  4. D) Se ejecuta siempre al menos una vez aunque la condición sea falsa.
Respuesta correcta

B) Repite un bloque de código mientras una condición sea True.

Explicación:

La respuesta correcta es B. La respuesta correcta es que repite el bloque mientras la condición sea True.
El bucle 'while' evalúa la condición antes de cada iteración.

#12

4. Según el Zen de Python (PEP 20), ¿cuál de las siguientes afirmaciones es una característica fundamental?

  1. A) Lo implícito es mejor que lo explícito.
  2. B) La legibilidad cuenta.
  3. C) Lo complejo es mejor que lo complicado.
  4. D) La velocidad de ejecución es siempre prioritaria sobre la claridad.
Respuesta correcta

B) La legibilidad cuenta.

Explicación:

La respuesta correcta es B. La respuesta correcta es que la legibilidad cuenta.
El Zen de Python defiende que el código debe ser fácil de leer y entender por humanos.

#13

18. ¿En qué estructura de datos se almacenan los argumentos variables posicionales (*args)?

  1. A) Una lista mutable
  2. B) Un diccionario
  3. C) Una tupla
  4. D) Un conjunto (set)
Respuesta correcta

C) Una tupla

Explicación:

La respuesta correcta es C. La respuesta correcta es una tupla.
Cuando una función utiliza el operador *, los argumentos posicionales extra se empaquetan en una tupla inmutable.

#14

24. ¿Cuándo se detecta un error de sintaxis (SyntaxError) en un programa de Python?

  1. A) Durante la ejecución de la línea con el error.
  2. B) Después de que el usuario introduce datos incorrectos.
  3. C) Durante la fase de análisis (parsing) antes de empezar la ejecución.
  4. D) Solo cuando se utiliza el depurador (pdb).
Respuesta correcta

C) Durante la fase de análisis (parsing) antes de empezar la ejecución.

Explicación:

La respuesta correcta es C. urante la fase de análisis antes de la ejecución.
Un error de sintaxis impide que el intérprete entienda el código, por lo que el programa ni siquiera llega a arrancar.

#15

21. ¿Qué característica deben tener las pruebas unitarias para ser consideradas fiables?

  1. A) Deben ser aleatorias para probar diferentes casos cada vez.
  2. B) Deben ser deterministas (dar el mismo resultado si el código no cambia).
  3. C) Deben ejecutarse solo cuando el programa finaliza su desarrollo total.
  4. D) Deben ser opcionales y solo para errores de sintaxis.
Respuesta correcta

B) Deben ser deterministas (dar el mismo resultado si el código no cambia).

Explicación:

La respuesta correcta es B. La respuesta correcta es que deben ser deterministas.
El determinismo asegura que, ante una misma entrada y código, el test siempre pase o falle de igual manera.

#16

13. ¿Cuál es el resultado de list(range(5))?

  1. A) [1, 2, 3, 4, 5]
  2. B) [0, 1, 2, 3, 4]
  3. C) [0, 1, 2, 3, 4, 5]
  4. D) [5, 4, 3, 2, 1]
Respuesta correcta

B) [0, 1, 2, 3, 4]

Explicación:

La respuesta correcta es B. La respuesta correcta es [0, 1, 2, 3, 4].
La función range con un solo argumento genera una secuencia que empieza en 0 por defecto.

#17

3. ¿Cuál de estos IDEs es el más recomendable para el desarrollo de proyectos profesionales de gran escala en Python?

  1. A) Thonny
  2. B) IDLE básico
  3. C) PyCharm o VS Code
  4. D) NotePad++
Respuesta correcta

C) PyCharm o VS Code

Explicación:

La respuesta correcta es C. La respuesta correcta es PyCharm o VS Code.
Estos entornos ofrecen herramientas avanzadas de depuración, gestión de entornos virtuales y control de versiones.

#18

19. ¿Cuál es la función del término 'wrapper' en el contexto de los decoradores?

  1. A) Es la función original que se va a decorar.
  2. B) Es una función interna que envuelve a la original para añadir lógica.
  3. C) Es un error que ocurre al llamar a una función lambda.
  4. D) Es el nombre del archivo de documentación de Sphinx.
Respuesta correcta

B) Es una función interna que envuelve a la original para añadir lógica.

Explicación:

La respuesta correcta es B. La respuesta correcta es que es una función interna que envuelve a la original.
Un decorador típico consiste en una función exterior y una interior llamada 'wrapper' que añade el comportamiento extra antes o después de ejecutar la.

#19

2. ¿Qué efecto tienen los comentarios (#) en el tiempo de ejecución de un script de Python?

  1. A) Aumentan significativamente el tiempo de ejecución.
  2. B) Reducen la velocidad de procesamiento del intérprete.
  3. C) No afectan al tiempo de ejecución del programa.
  4. D) Solo afectan si el programa tiene más de 100 líneas.
Respuesta correcta

C) No afectan al tiempo de ejecución del programa.

Explicación:

La respuesta correcta es C. La respuesta correcta es que no afectan al tiempo de ejecución.
Los comentarios son ignorados por el intérprete de Python durante la ejecución del código.

#20

7. ¿Cómo se evalúa la expresión lógica: not not True?

  1. A) False
  2. B) None
  3. C) True
  4. D) Error
Respuesta correcta

C) True

Explicación:

La respuesta correcta es C. La respuesta correcta es True.
Al aplicar 'not' dos veces, la primera convierte True en False y la segunda convierte ese False de nuevo en True. Es una doble negación lógica que devuelve el valor booleano original.

#21

20. ¿Qué convierte a una función estándar en un 'generador'?

  1. A) El uso de la palabra clave 'return'.
  2. B) El uso de la palabra clave 'yield' en lugar de 'return'.
  3. C) La definición de la función como una 'lambda'.
  4. D) El uso de decoradores especializados en matemáticas.
Respuesta correcta

B) El uso de la palabra clave 'yield' en lugar de 'return'.

Explicación:

La respuesta correcta es B. l uso de 'yield'.
Una función con 'yield' devuelve un iterador que produce valores bajo demanda, pausando su estado entre cada llamada.

#22

17. ¿Qué palabra clave se utiliza para modificar una variable en el ámbito de la función exterior inmediata (en cierres)?

  1. A) global
  2. B) nonlocal
  3. C) outer
  4. D) external
Respuesta correcta

B) nonlocal

Explicación:

La respuesta correcta es B. La respuesta correcta es nonlocal.
La palabra 'nonlocal' permite que una función anidada asigne un valor a una variable definida en la función que la contiene.

#23

25. ¿Qué utilidad tienen las 'cláusulas de guarda' dentro del Clean Code?

  1. A) Permiten ocultar errores de tipo TypeError.
  2. B) Validan condiciones al inicio de una función para evitar anidamientos excesivos.
  3. C) Sirven para documentar las funciones usando Sphinx.
  4. D) Obligan al intérprete a usar el modo de depuración pdb.
Respuesta correcta

B) Validan condiciones al inicio de una función para evitar anidamientos excesivos.

Explicación:

La respuesta correcta es B. La respuesta correcta es que validan condiciones al inicio para evitar anidamientos.
En lugar de meter la lógica principal dentro de múltiples bloques 'if' indentados, se comprueban los errores al principio y se sale de la función si no se.

#24

5. ¿Qué símbolo se utiliza en un Diagrama de Flujo para representar la toma de decisiones lógicas?

  1. A) Rectángulo
  2. B) Óvalo
  3. C) Rombo
  4. D) Paralelogramo
Respuesta correcta

C) Rombo

Explicación:

La respuesta correcta es C. l Rombo.
En la simbología estándar de diagramas de flujo, el rombo representa bifurcaciones donde se evalúa una condición.

#25

14. ¿Qué palabra reservada se puede usar tras un bucle para ejecutar código si este terminó normalmente (sin break)?

  1. A) finally
  2. B) else
  3. C) after
  4. D) then
Respuesta correcta

B) else

Explicación:

La respuesta correcta es B. lse.
En Python, los bucles pueden llevar una cláusula 'else' que se ejecuta únicamente si el bucle agota su iteración de forma natural.

Temas incluidos

Este examen reúne preguntas de varios bloques de Estructuras de Control en Python y por eso no se muestra asociado a un único tema público.

Otros exámenes de Estructuras de Control en Python

Practicar este examen

Puedes abrir TesIA Exam y localizar este examen con el mismo nombre para practicarlo en modo estudio o examen, revisar respuestas y continuar tu progreso.