Python 3.14
Ejercicios de Python sobre Bucles
5 ejercicios de Bucles en Python. Piensa la respuesta antes de abrirla: la explicación dice por qué las demás opciones fallan.
1 · Elige la respuesta · nivel 1
¿Qué imprime este código?
for i, c in enumerate("ab", start=1): print(i, c)- A1 a 2 b
- B0 a 1 b
- Ca 1 b 2
- D(1, 'a') (2, 'b')
Ver la respuesta
Respuesta: A. 1 a 2 b
enumerate() devuelve pares (índice, elemento). Con start=1 el índice empieza en 1, y el for desempaqueta cada par en i y c.
2 · Completa el hueco · nivel 1
Completa para imprimir los números 0, 1 y 2.
for i ___ ___(3): print(i)- in
- range
- of
- len
Ver la respuesta
Respuesta: in · range
for i in range(3): print(i)for ... in recorre una secuencia, y range(3) genera 0, 1 y 2: empieza en 0 y no incluye el 3.
3 · Ordena las líneas · nivel 1
Ordena el código para imprimir los números pares del 1 al 6.
- print(n)
- if n % 2 = 0:
- if n % 2 == 0:
- for n in range(1, 7):
Ver la respuesta
El orden correcto:
for n in range(1, 7): if n % 2 == 0: print(n)Sobran: if n % 2 = 0:
range(1, 7) llega hasta el 6 porque el final no se incluye. Para comparar se usa ==; un solo = es una asignación y da SyntaxError dentro de un if.
4 · Ordena las líneas · nivel 1
Ordena el código para imprimir 3, 2, 1 y después ¡Ya!
- print(n)
- for n in [3, 2, 1]:
- print("¡Ya!")
Ver la respuesta
El orden correcto:
for n in [3, 2, 1]: print(n)print("¡Ya!")La línea indentada va dentro del bucle y se repite. print("¡Ya!") no tiene sangría, así que se ejecuta una sola vez, al acabar el bucle.
5 · Encuentra el fallo · nivel 2
total([5, 1, 2]) devuelve 3 en vez de 8. ¿Qué línea tiene el fallo?
1def total(values):2 result = 03 for i in range(1, len(values)):4 result += values[i]5 return result6 7print(total([5, 1, 2]))Ver la respuesta
El fallo está en la línea 3:
for i in range(1, len(values)):Se arregla confor i in range(len(values)):.Los índices empiezan en 0 y range(1, ...) se salta el primer elemento. Mejor aún, sin índices: for value in values, o directamente sum(values).