EIB · Tema 3: Estructuras iterativas: Bucles

Tema 3: Estructuras iterativas: Bucles es uno de los temas públicos de Estructuras de Control en Python dentro de TesIA Exam. Aquí puedes localizar preguntas indexables, tests, cuestionarios y exámenes que lo incluyen.

15 preguntas 1 exámenes Material de estudio público

Cómo estudiar este tema

Primero lee el resumen completo para fijar el marco del tema. Después usa la guía de estudio para ordenar el repaso y termina con las preguntas, revisando siempre la respuesta correcta y la explicación breve.

Esta página pública está pensada para consulta y repaso. Para practicar con progreso, favoritos y modo examen puedes continuar dentro de TesIA Exam con los mismos exámenes relacionados.

Material de estudio disponible

Aquí se muestran el resumen completo, la guía completa y los recursos públicos enlazados del tema para que la página sea útil también fuera de la app.

Resumen del tema

Informe de Síntesis: Estructuras Iterativas en Programación

Resumen Ejecutivo

Este documento presenta un análisis exhaustivo de las estructuras iterativas (bucles), un pilar fundamental de la programación. Las estructuras iterativas, como los bucles while y for en Python, permiten la ejecución repetida de un bloque de código, lo cual es esencial para la automatización de tareas, el procesamiento de colecciones de datos y la creación de algoritmos eficientes.

Los puntos clave identificados son:

* Concepto Central: La iteración es la repetición de instrucciones hasta que se cumple una condición o se recorre una secuencia completa. Es, junto a las estructuras condicionales, una base de la programación moderna.
* Tipos Principales en Python:
* Bucle while (Iteración Condicional): Ejecuta un bloque de código mientras una condición especificada sea verdadera. Es ideal cuando el número de iteraciones no se conoce de antemano. Su correcta implementación requiere una gestión cuidadosa de la condición de parada para evitar bucles infinitos.
* Bucle for (Iteración Definida): Itera sobre los elementos de una secuencia (listas, cadenas, rangos, etc.). Es preferible cuando se conoce el número de iteraciones o se necesita procesar cada elemento de una colección.
* Funciones Auxiliares Clave:
* range(): Genera secuencias inmutables de números enteros, siendo un mecanismo eficiente para controlar la ejecución de un bucle un número determinado de veces.
* enumerate(): Permite iterar sobre una secuencia obteniendo simultáneamente el índice y el valor de cada elemento, lo que representa una práctica más clara y eficiente que el uso de range(len()).
* Control de Flujo: Las instrucciones break (termina el bucle por completo), continue (salta a la siguiente iteración) y pass (actúa como un marcador de posición nulo) ofrecen un control granular sobre la ejecución de los bucles.
* Bucles Anidados: La inclusión de un bucle dentro de otro permite trabajar con estructuras de datos multidimensionales, como matrices, aunque aumenta la complejidad y puede impactar el rendimiento.
* Aplicaciones Prácticas: Las estructuras iterativas son indispensables en una vasta gama de aplicaciones, incluyendo el procesamiento y gestión de datos, cálculos matemáticos complejos, validación de entradas de usuario, desarrollo de videojuegos (game loops), y algoritmos de búsqueda y ordenación.

En resumen, el dominio de las estructuras iterativas es una habilidad crucial que permite pasar de una ejecución secuencial simple a la creación de programas dinámicos, eficientes y capaces de resolver problemas complejos.

Fundamentos de las Estructuras Iterativas

Concepto y Finalidad de la Iteración

Una iteración es la repetición de una o varias instrucciones un número determinado de veces o hasta que se cumpla una condición prefijada. Junto con las sentencias condicionales, las estructuras iterativas, comúnmente llamadas bucles o loops, constituyen uno de los pilares de la programación moderna. Su propósito es permitir la ejecución automática y repetida de un bloque de código, simplificando la codificación de tareas repetitivas y mejorando la eficiencia del programa.

Los objetivos principales de la iteración son:

* Automatización y Eficiencia: Evitan la duplicación innecesaria de código al encapsular instrucciones repetitivas en un bucle, lo que resulta en programas más cortos, mantenibles y eficientes.
* Procesamiento de Colecciones: Son el mecanismo principal para recorrer y procesar sistemáticamente datos agrupados, como los elementos de una lista, los caracteres de una cadena o los resultados de una consulta a una base de datos.
* Control de Estados: Permiten la vigilancia continua de eventos, como comprobar constantemente la entrada del usuario en un videojuego o mantener un servidor a la escucha de nuevas peticiones.

Evolución y Tipos de Estructuras de Control

La programación ha evolucionado desde flujos de ejecución simples a estructuras más complejas y potentes.

1. Estructura Secuencial: Las instrucciones se ejecutan una tras otra en el orden en que están escritas.
* Flujo: Paso 1 → Paso 2 → Paso 3 → Paso 4
2. Estructura Condicional (Selección): El flujo de ejecución se bifurca basándose en la evaluación de una condición (Verdadero o Falso), permitiendo ejecutar diferentes bloques de código.
3. Estructura Iterativa (Repetición): Un bloque de instrucciones se ejecuta repetidamente mientras una condición se mantenga verdadera o hasta que se haya recorrido una secuencia.
* Flujo: Paso 1 → [Paso 2 → Paso 3; Paso 2 → Paso 3; ...] → Paso 4

Elementos Clave de una Iteración

Toda estructura iterativa se compone de tres elementos fundamentales:

* Variable de Control: Una variable que se modifica en cada repetición del bucle, a menudo funcionando como un contador que se incrementa o decrementa.
* Condición de Parada: Una expresión lógica que se evalúa antes (o después) de cada iteración para determinar si el bucle debe continuar o terminar.
* Bloque de Instrucciones: El conjunto de sentencias que se ejecutan en cada ciclo del bucle.

Tipos de Bucles en Python

Python ofrece dos tipos principales de bucles, cada uno diseñado para escenarios de repetición diferentes.

El Bucle while: Iteración Condicional

El bucle while ejecuta un bloque de sentencias repetidamente mientras una condición específica se mantenga verdadera. Es la estructura ideal cuando no se conoce de antemano el número exacto de iteraciones necesarias.

Sintaxis:

while condición:
# Bloque de sentencias a repetir
# Actualización de la variable de control (si es necesario)


Ejemplo Práctico:

energia = 3
while energia > 0:
print(f"Corriendo... Energía: {energia}")
energia -= 1 # Actualización crucial para evitar un bucle infinito
print("¡Me cansé!")


Gestión de Bucles Infinitos

Un riesgo común con el bucle while es la creación de un bucle infinito, que ocurre cuando su condición de parada nunca se vuelve falsa. Para evitarlo, es fundamental:

1. Modificar la variable de control dentro del bucle.
2. Asegurar que las condiciones sean finitas y puedan alcanzarse.
3. Preferir el uso de desigualdades (<, >) sobre la igualdad exacta (== o !=) cuando sea posible, ya que es más robusto.

En ciertos casos, los bucles infinitos se crean intencionadamente, por ejemplo, para servicios que deben ejecutarse continuamente. En estos escenarios, la instrucción break se utiliza para proporcionar una salida controlada.

Ejemplo de Bucle Infinito Intencional:

while True:
print('Hola qué tal!')
if (want_greet := input('¿Quiere otro saludo? [S/N] ')) != 'S':
break
print('Que tenga un buen día')


El Bucle for: Iteración Definida sobre Secuencias

El bucle for se utiliza para iterar sobre los elementos de un objeto iterable (como una lista, tupla, cadena de texto, diccionario o un rango de números). Es ideal cuando se conoce a priori la secuencia de elementos a recorrer.

Sintaxis:

for variable_iteracion in secuencia:
# Bloque de sentencias


Ejemplo Práctico:

frutas = ["manzana", "banana", "cereza"]
for fruta in frutas:
print(f'Hoy quiero comer {fruta}')


Comparativa: for vs. while

Aunque ambos bucles pueden lograr resultados similares, su idoneidad depende del contexto. El bucle for es más apropiado y legible para recorrer secuencias completas.

Criterio Usando Bucle for (Recomendado) Usando Bucle while
Caso de Uso Recorrer una lista de alumnos para pasar asistencia. Simular el recorrido de la lista gestionando un índice manualmente.
Código python alumnos = ["Ana", "Luis", "Marta", "Jorge"] print("Lista de asistencia:") for nombre in alumnos: print(f"- {nombre}") python alumnos = ["Ana", "Luis", "Marta", "Jorge"] indice = 0 print("Lista de asistencia:") while indice < len(alumnos): nombre = alumnos[indice] print(f"- {nombre}") indice += 1
Análisis Código más limpio, directo y menos propenso a errores. Requiere inicialización y actualización manual de un índice, resultando en un código más verboso y menos legible.

Funciones Auxiliares y Técnicas de Iteración

La Función range(): Generación de Secuencias Numéricas

La función range() genera secuencias inmutables de números enteros. Es altamente eficiente en memoria porque solo almacena los valores de inicio, parada y paso, en lugar de todos los números de la secuencia. Se utiliza comúnmente con bucles for para repetir una acción un número específico de veces.

Sintaxis y Variaciones:

* range(stop): Genera números desde 0 hasta stop - 1.
* list(range(5)) produce [0, 1, 2, 3, 4].
* range(start, stop): Genera números desde start hasta stop - 1.
* list(range(1, 7)) produce [1, 2, 3, 4, 5, 6].
* range(start, stop, step): Genera números desde start hasta stop - 1, con un incremento de step.
* list(range(1, 10, 2)) produce [1, 3, 5, 7, 9].

La Función enumerate(): Acceso a Índice y Valor

La función enumerate() es una herramienta idiomática de Python para iterar sobre una secuencia y obtener al mismo tiempo el índice y el valor de cada elemento.

Sintaxis: enumerate(iterable, start=0)

* iterable: El objeto sobre el que se va a iterar.
* start (opcional): El valor inicial para el índice (por defecto es 0).

Ejemplo de Uso:

colores = ['azul', 'rojo', 'amarillo']

# El índice comienza en 1 gracias a start=1
for posicion, color in enumerate(colores, start=1):
print(f"Posición {posicion}: {color}")


Salida:

Posición 1: azul
Posición 2: rojo
Posición 3: amarillo


Comparativa: range() vs. enumerate()

Es una mala práctica utilizar for i in range(len(mi_lista)) para acceder a los índices. La función enumerate() está diseñada específicamente para este propósito y produce un código más claro y "Pythónico".

Característica range() enumerate()
Propósito Genera una secuencia de números enteros. Genera pares de (índice, valor) a partir de un iterable.
Entrada 1 a 3 argumentos numéricos (start, stop, step). Un iterable y un start opcional.
Salida Un objeto range (secuencia de enteros). Un objeto enumerate (iterador de tuplas).
Cuándo Usar Cuando solo necesitas un contador o iterar un número fijo de veces. Cuando necesitas acceder simultáneamente al índice y al valor de un elemento.

Uso del Guión Bajo (_) como Variable Descartable

Cuando se necesita repetir una acción un número fijo de veces pero no se requiere el valor del contador en cada iteración, se recomienda usar el guión bajo (_) como nombre de la variable. Esta es una convención que indica que la variable se está ignorando intencionadamente.

# Recomendado
for _ in range(10):
print('Repeat me 10 times!')


Control Avanzado del Flujo en Bucles

Python proporciona tres instrucciones para controlar finamente el flujo de ejecución dentro de los bucles.

La Instrucción break: Terminación Inmediata del Bucle

La instrucción break termina la ejecución del bucle más interno de forma inmediata. El control del programa pasa a la primera instrucción que sigue al bucle.

Ejemplo:

for numero in range(1, 10):
if numero == 5:
break # El bucle se detiene cuando numero es 5
print(numero)
print("Bucle finalizado.") # Salida: 1 2 3 4 Bucle finalizado.


La Instrucción continue: Omisión de la Iteración Actual

La instrucción continue salta el resto del código del bloque del bucle para la iteración actual y pasa directamente a la siguiente iteración.

Ejemplo:

for numero in range(1, 10):
if numero % 2 == 0:
continue # Omite la impresión de números pares
print(numero)
print("Bucle finalizado.") # Salida: 1 3 5 7 9 Bucle finalizado.


La Instrucción pass: Marcador de Posición Nulo

La instrucción pass es una operación nula; no hace nada. Se utiliza como marcador de posición donde la sintaxis requiere una sentencia, pero no se necesita ejecutar ninguna acción (por ejemplo, en el cuerpo de una función, clase o bloque condicional que se implementará más adelante).

Ejemplo:

def mi_funcion_vacia():
pass # Marcador para una función que aún no está implementada


Tabla Comparativa: break, continue, y pass

Comando Efecto Principal Aplicación Típica
break Sale completamente del bucle. Detener el procesamiento cuando se encuentra un resultado específico.
continue Salta la iteración actual, pasa a la siguiente. Omitir elementos de una secuencia que no cumplen una condición.
pass No hace nada, es un marcador de posición. Usar donde se requiere sintácticamente una instrucción pero no hay código que ejecutar.

Estructuras Complejas: Bucles Anidados

El anidamiento es la técnica de incluir un bucle dentro de otro. Esto es útil para trabajar con estructuras de datos de múltiples dimensiones, como matrices (listas de listas), o para realizar operaciones que requieren una iteración interna por cada iteración externa.

Funcionamiento:

1. El bucle externo comienza su primera iteración.
2. El bucle interno se ejecuta por completo (todas sus iteraciones).
3. Una vez que el bucle interno finaliza, el bucle externo pasa a su siguiente iteración.
4. Los pasos 2 y 3 se repiten hasta que el bucle externo completa todas sus iteraciones.

Ejemplo: Recorrido de una Matriz

matriz = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

for fila in matriz: # Bucle externo
for elemento in fila: # Bucle interno
print(elemento, end=" ")
print() # Salto de línea después de cada fila


Recomendación: Se aconseja no anidar más de dos o tres niveles de bucles, ya que aumenta rápidamente la complejidad del código y puede generar problemas de rendimiento.

Aplicaciones Prácticas y Relevancia

Las estructuras iterativas son un mecanismo fundamental que permite a los programas ser dinámicos y eficientes, con una amplia gama de aplicaciones prácticas:

* Procesamiento de Datos: Recorrer, filtrar y modificar elementos en colecciones de datos, así como procesar resultados de consultas a bases de datos.
* Cálculos Matemáticos: Calcular series (como Fibonacci), factoriales y ejecutar simulaciones paso a paso.
* Entrada y Salida (I/O): Validar repetidamente la entrada del usuario hasta que sea correcta, y leer o escribir archivos línea por línea.
* Tareas Basadas en Tiempo y Eventos: Implementar contadores, relojes en tiempo real y bucles de escucha en servidores web.
* Animaciones y Videojuegos: El "Game Loop" es un bucle central que constantemente verifica la entrada del usuario, actualiza el estado del juego y renderiza la escena.
* Búsqueda y Ordenación: Implementar algoritmos como la búsqueda lineal o el método de la burbuja, que se basan en bucles anidados para comparar y reordenar elementos.

Contenido Formativo y Objetivos de Aprendizaje

El estudio de las estructuras iterativas forma parte de la Unidad de Trabajo 03 (UT03) del Ciclo Formativo de Grado Superior para el curso 2025-2026. El tiempo estimado para esta unidad es de 3 horas.

El Resultado de Aprendizaje asociado (RA 3) es: "Utiliza sentencias iterativas analizando las necesidades del código para resolver un problema".

Los criterios de evaluación incluyen:

* Interpretar el concepto de sentencia iterativa.
* Diferenciar entre estructuras condicionales e iterativas.
* Verificar el funcionamiento de las sentencias iterativas.
* Aplicar las sentencias iterativas de acuerdo a las necesidades.
* Escribir bloques de programas utilizando los bucles for y while.
* Interpretar y aplicar los anidamientos de estructuras.

Guía de estudio

Guía de Estudio: UT03. Estructuras Iterativas: Bucles

Esta guía está diseñada para repasar y consolidar el conocimiento sobre las estructuras iterativas en Python, cubriendo desde los conceptos fundamentales hasta sus aplicaciones prácticas.

Cuestionario de Repaso

Responda a las siguientes preguntas con respuestas breves (2-3 frases) para evaluar su comprensión de los conceptos clave.

1. ¿Qué es una estructura iterativa y cuál es su propósito principal en la programación?
2. Explique la diferencia fundamental entre un bucle while y un bucle for en Python.
3. ¿Cuáles son los tres elementos clave que componen cualquier iteración o bucle?
4. ¿Para qué se utiliza la función range() y qué tipos de parámetros puede recibir?
5. Describa la utilidad de la función enumerate() y qué tipo de salida produce.
6. ¿Qué efecto tiene la instrucción break cuando se encuentra dentro de un bucle?
7. ¿Cómo modifica el flujo de un bucle la instrucción continue?
8. ¿Qué es un bucle infinito y qué precauciones se pueden tomar para evitarlo?
9. Defina el concepto de bucles anidados y mencione una aplicación común.
10. ¿En qué situación es recomendable utilizar el guion bajo (_) como nombre de variable en un bucle for?


--------------------------------------------------------------------------------


Clave de Respuestas

Utilice esta sección para verificar sus respuestas del cuestionario.

1. ¿Qué es una estructura iterativa y cuál es su propósito principal en la programación? Una estructura iterativa, también llamada bucle o loop, es una herramienta de control que permite ejecutar un bloque de código varias veces de manera automática. Su propósito es simplificar la codificación de tareas repetitivas, automatizar el procesamiento de datos y crear algoritmos eficientes sin duplicar código.
2. Explique la diferencia fundamental entre un bucle while y un bucle for en Python. La diferencia principal radica en cómo controlan la repetición. El bucle while es una iteración condicional que se ejecuta mientras una condición sea verdadera, ideal cuando no se sabe el número de iteraciones. El bucle for es una iteración definida que recorre los elementos de una secuencia (lista, cadena, etc.), siendo más apropiado cuando se conoce de antemano el número de repeticiones o la colección a procesar.
3. ¿Cuáles son los tres elementos clave que componen cualquier iteración o bucle? Los tres elementos clave son: la variable de control, que cambia en cada repetición (como un contador); la condición de parada, una expresión lógica que determina si el bucle debe continuar o finalizar; y el bloque de instrucciones, que son las acciones específicas que se repiten en cada iteración.
4. ¿Para qué se utiliza la función range() y qué tipos de parámetros puede recibir? La función range() se utiliza para generar secuencias inmutables de números enteros, comúnmente dentro de bucles for para iterar un número fijo de veces. Puede recibir uno, dos o tres parámetros: range(stop) genera números desde 0 hasta stop-1; range(start, stop) genera desde start hasta stop-1; y range(start, stop, step) genera números con un incremento específico (step).
5. Describa la utilidad de la función enumerate() y qué tipo de salida produce. La función enumerate() es útil para iterar sobre un objeto iterable obteniendo simultáneamente el índice y el valor de cada elemento. Produce un objeto enumerate que genera tuplas con el formato (índice, valor) en cada iteración, lo cual es más claro y eficiente que usar range(len(lista)).
6. ¿Qué efecto tiene la instrucción break cuando se encuentra dentro de un bucle? La instrucción break termina la ejecución del bucle de forma inmediata. Una vez que el programa ejecuta break, salta directamente a la primera instrucción que se encuentra después del bucle, sin completar las iteraciones restantes.
7. ¿Cómo modifica el flujo de un bucle la instrucción continue? La instrucción continue salta el resto del código dentro de la iteración actual y pasa directamente a la siguiente. A diferencia de break, no termina el bucle, sino que omite las instrucciones restantes de la iteración en curso y continúa con la siguiente evaluación de la condición del bucle.
8. ¿Qué es un bucle infinito y qué precauciones se pueden tomar para evitarlo? Un bucle infinito ocurre cuando la condición de parada de un bucle (generalmente while) nunca se vuelve falsa, provocando que el programa se ejecute indefinidamente. Para evitarlo, se debe asegurar que la variable de control se modifique dentro del bucle, que las condiciones sean finitas y, si es posible, usar desigualdades en lugar de igualdades.
9. Defina el concepto de bucles anidados y mencione una aplicación común. Los bucles anidados consisten en incluir un bucle dentro de otro, donde el bucle interno se ejecuta completamente por cada iteración del bucle externo. Una aplicación muy común es el recorrido de estructuras de datos bidimensionales, como matrices o listas de listas, para acceder a cada fila y a cada elemento dentro de esa fila.
10. ¿En qué situación es recomendable utilizar el guion bajo (_) como nombre de variable en un bucle for? Es recomendable usar el guion bajo (_) como variable cuando únicamente se desea repetir una acción un número determinado de veces y no se necesita utilizar el valor que toma la variable de control en cada iteración. Esta convención indica a otros programadores que la variable es descartable y no se usa de forma explícita.


--------------------------------------------------------------------------------


Preguntas de Ensayo

Reflexione sobre los siguientes temas para profundizar su comprensión. No se proporcionan respuestas; el objetivo es que desarrolle sus propios argumentos basados en el material de estudio.

1. Comparativa de for vs. while: Compare y contraste los bucles for y while. Describa un escenario práctico donde un bucle for sería la opción más adecuada y otro donde un bucle while sería preferible. Explique por qué cada bucle es más apropiado en su respectivo escenario.
2. Control de Flujo Avanzado: Explique el papel de las instrucciones break, continue y pass en la gestión del flujo de ejecución de los bucles. Proporcione un ejemplo de código para cada instrucción donde su uso sea fundamental para resolver un problema específico.
3. Aplicaciones Prácticas de la Iteración: Discuta al menos tres áreas de aplicación práctica de las estructuras iterativas mencionadas en los documentos (p. ej., procesamiento de datos, cálculos matemáticos, videojuegos). Para cada área, describa un problema concreto y cómo un bucle ayudaría a resolverlo de manera eficiente.
4. Complejidad y Rendimiento de Bucles Anidados: Detalle el funcionamiento de los bucles anidados, explicando cómo el número total de ejecuciones del bucle interno se relaciona con las iteraciones del bucle externo. Discuta por qué se aconseja no anidar más de dos o tres niveles y qué implicaciones tiene en la complejidad y el rendimiento del código.
5. Funciones Auxiliares range() y enumerate(): Analice la importancia de las funciones range() y enumerate() como herramientas auxiliares para los bucles for. Explique por qué usar enumerate() es considerado más "Pythonic" que el patrón for i in range(len(mi_lista)) para acceder tanto al índice como al valor de los elementos de una secuencia.


--------------------------------------------------------------------------------


Glosario de Términos Clave

Término Definición
Anidamiento Técnica por la cual se incluyen distintos niveles de encapsulamiento de sentencias, unas dentro de otras, con mayor nivel de profundidad.
Bloque de instrucciones Las instrucciones específicas que se desean repetir en cada iteración del bucle.
break Instrucción de control que se utiliza para terminar la ejecución de un bucle de forma inmediata.
Bucle (Loop) Herramienta que permite ejecutar un bloque de código varias veces de manera automática. Es sinónimo de estructura iterativa.
Bucle Anidado Un bucle que se encuentra dentro de otro bucle. El bucle interno se ejecuta por completo en cada iteración del bucle externo.
Bucle for Estructura de iteración definida que se usa cuando se sabe a priori el número de veces que se va a repetir una instrucción, como al recorrer una secuencia.
Bucle Infinito Un bucle cuya condición de parada es siempre verdadera, lo que provoca que se ejecute sin fin.
Bucle while Estructura de iteración condicional que permite ejecutar un grupo de instrucciones mientras una condición específica se cumpla (sea TRUE).
Condición de parada Una expresión lógica que indica el fin de las repeticiones, determinando si el bucle debe o no continuar su ejecución.
continue Instrucción de control que se utiliza para saltar el resto del código dentro de la iteración actual y pasar directamente a la siguiente.
enumerate() Función que se utiliza para iterar sobre un objeto iterable y, al mismo tiempo, obtener el índice y el valor de cada elemento en forma de tupla (índice, valor).
Estructura Condicional Estructura que cambia el orden de ejecución en base a una condición (TRUE o FALSE), permitiendo ejecutar diferentes caminos.
Estructura Iterativa Uno de los pilares de la programación que permite la repetición de un bloque de código. También conocida como bucle o loop.
Estructura Secuencial Estructura que realiza una ejecución instrucción a instrucción en el orden fijado y establecido por el programador.
Iteración La repetición de una o varias instrucciones un número determinado de veces o hasta que se cumpla una condición prefijada.
pass Instrucción que es una operación nula; no sucede nada cuando se ejecuta. Se utiliza como marcador de posición donde la sintaxis requiere una instrucción.
range() Función utilizada para la generación de secuencias inmutables de números enteros, muy usada en bucles for.
Secuencia Una colección de elementos sobre los que se puede iterar, como listas, tuplas, cadenas de texto o rangos de números.
Variable de control Una variable que cambia en cada repetición del bucle, como un contador que incrementa o decrementa su valor, y que suele formar parte de la condición de parada.

Preguntas, respuestas y explicaciones del tema

Listado público sin duplicados de las preguntas del tema, con su respuesta correcta y una explicación breve para facilitar el estudio y el repaso desde buscadores.

#1

Pregunta 10. ¿Cuál es el resultado de list (range(5))

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

C) c. [0, 1, 2, 3, 4]

Explicación:

La respuesta correcta es C. En Python, si range() recibe un único argumento, genera números empezando desde el 0 de forma predeterminada.
El valor proporcionado (5) actúa como el límite superior exclusivo, por lo que la secuencia se detiene en el 4.

#2

Pregunta 15. En el uso de 'enumerate()', el indice por defecto comienza en 0.

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
La función 'enumerate()' está diseñada para proporcionar un contador automático mientras se recorre un iterable.

#3

Pregunta 11. ¿Qué imprime for i in range(2): for j in range(2): print(i, j)?

  1. A) a. 01, 01
  2. B) b. 0 0, 0 1, 1 0, 1 1
  3. C) c. 0 0, 1 1
  4. D) d. 1 1, 1 2, 2 1, 2 2
Respuesta correcta

B) b. 0 0, 0 1, 1 0, 1 1

Explicación:

La respuesta correcta es B. Este código muestra el funcionamiento de los bucles anidados, donde el bucle interior se completa íntegramente por cada paso del bucle exterior.

#4

Pregunta 8. ¿Cuál es la salida de range(5, 0, -1)?

  1. A) a. Secuencia vacia
  2. B) b. 0, 1, 2, 3, 4, 5
  3. C) c. 5, 4, 3, 2, 1, 0
  4. D) d. 5, 4, 3, 2, 1
Respuesta correcta

D) d. 5, 4, 3, 2, 1

Explicación:

La respuesta correcta es D. Cuando se utiliza un tercer argumento negativo en la función range(), se genera una secuencia descendente desde el inicio hasta el límite.

#5

Pregunta 2. ¿Cuál es la salida de print(list(range(3, 3) )?

  1. A) a. Error
  2. B) b. 3
  3. C) c. [0, 1, 2, 3]
  4. D) d. [fista vacia]
Respuesta correcta

D) d. [fista vacia]

Explicación:

La respuesta correcta es D. La función range(inicio, fin) en Python genera una secuencia que comienza en el primer valor y termina justo antes del segundo.
Si el valor de inicio es igual al valor de fin, el rango resultante no contiene ningún elemento.

#6

Pregunta 5. Relaciona las funciones con su utilidad:

Tipo: relacionar columnas.

Columna A

  • range()
  • enumerate()
  • len()
  • list()

Columna B

  • Denera progresiones antirética
  • Añade un contador a un lleable
  • Desuelve la longitud de ma tecuencia
  • Devuelve la longitud de una se
Respuesta correcta
  • range() -> Denera progresiones antirética
  • enumerate() -> Añade un contador a un lleable
  • len() -> Desuelve la longitud de ma tecuencia
  • list() -> Devuelve la longitud de una se
Explicación:

La respuesta correcta es la asociación de cada función con su comportamiento característico según la documentación de Python. 'range()' se utiliza para crear secuencias numéricas, mientras que 'enumerate()' facilita la iteración devolviendo pares de índice y valor. La función 'len()' calcula el tamaño total de una colección de datos. Aunque la opción literal para 'list()' en el documento parece un error tipográfico, en el contexto de un examen se asocia a la conversión de tipos iterables.

#7

Pregunta 13. En un bucle "for i in range(10): ", la variable se actualiza automáticamente en cada paso

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
El bucle 'for' en Python está diseñado para iterar sobre los elementos de un objeto iterable de forma automática.

#8

Pregunta 12. ¿Qué palabra reservada se puede usar opcionalmente después de un bucle (for o while) para ejecutar código si el bucle terminó normalmente (sin break)?

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

D) d. else

Explicación:

La respuesta correcta es D. Python permite el uso de una cláusula 'else' asociada a los bucles, la cual se ejecuta solo si el bucle agota su iterable o la condición del while se vuelve falsa.

#9

Pregunta 7. Un 'Game Loop' es un ejemplo de bucle infinito controlado por eventos de usuario

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
En el desarrollo de software multimedia y videojuegos, se emplea un bucle principal que mantiene la aplicación funcionando de forma ininterrumpida.

#10

Pregunta 4. ¿Se puede usar un bucle 'for' dentro de un bucle 'while'?

  1. A) a. No, Python obliga a usar el mismo tipo de bucie en las anidaciones
  2. B) b. Solo si el bucle 'while' es infinito
  3. C) c. Si se pueden combinar libremente según la necesidad lógica
  4. D) d. Solo si se usa una función externa.
Respuesta correcta

C) c. Si se pueden combinar libremente según la necesidad lógica

Explicación:

La respuesta correcta es C. Python es un lenguaje flexible que permite la anidación de cualquier estructura de control sin restricciones de tipo.

#11

Pregunta 14. Iterar sobre una cadena de texto (string) con un bucle "for" permite procesar cada carácter Individualmente

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
En Python, las cadenas de caracteres son consideradas secuencias iterables, lo que permite utilizarlas directamente en la cabecera de un bucle 'for'.

#12

Pregunta 6. Un bucle 'while' evalúa la condición ANTES de ejecutar el bloque de código

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
En el ciclo de vida de un bucle 'while', la primera acción que realiza el intérprete es comprobar si la expresión condicional es cierta.

#13

Pregunta 9. ¿Qué imprime este código? for c in "ABC": if c == "B": continue print(c)

  1. A) a. AB
  2. B) b. BC
  3. C) c. A, B, C
  4. D) d. AC
Respuesta correcta

D) d. AC

Explicación:

La respuesta correcta es D. La instrucción 'continue' interrumpe la iteración actual y vuelve al inicio del bucle para procesar el siguiente elemento, omitiendo el código que queda por debajo.

#14

Pregunta 3. ¿Qué hace la instrucción "break"?

  1. A) a. Termina inmediatamente la ejecución del bucle actual
  2. B) b. Salta a la siguiente Iteración del bucie, ignorando el código restante.
  3. C) c. Detiene todo el programa y cierra la consola.
  4. D) d. Indica que el bloque de código está vacío para evitar errores.
Respuesta correcta

A) a. Termina inmediatamente la ejecución del bucle actual

Explicación:

La respuesta correcta es A. La instrucción 'break' proporciona una forma de salir de un bucle 'for' o 'while' antes de que este complete todas sus iteraciones de forma natural.

#15

Pregunta 1. El bucle "while" se caracteriza por:

  1. A) a. Terminar automáticamente tras 10 iteraciones si no se indica lo contrario
  2. B) b. Repetir un bloque de código mientras una condición booleana sea True
  3. C) c. Recorrer obligatoriamente una lista o secuencia de elementos.
  4. D) d. Ejecutarse siempre al menos una vez, independientemente de la condición
Respuesta correcta

B) b. Repetir un bloque de código mientras una condición booleana sea True

Explicación:

La respuesta correcta es B. El bucle 'while' es una estructura de control que permite la repetición de un bloque de instrucciones siempre que una condición lógica se evalúe como verdadera.

Exámenes que incluyen este tema

Practicar este tema en TesIA Exam

Abre la app para entrenar este contenido en modo estudio o examen y guardar tu progreso.

Abrir TesIA Exam