""
Mostrando las entradas con la etiqueta while. Mostrar todas las entradas
Mostrando las entradas con la etiqueta while. Mostrar todas las entradas

viernes, 3 de abril de 2026

3.2.17 Quiz de sección while, for, continue, break, if, else

 Pregunta 1: Crea un bucle for que cuente de 0 a 10, e imprima números impares en la pantalla.

>>for i in range(1, 11):
>> if i % 2 == 0:
>> continue
>>  print(i)
>>    # Línea de código.
>>        # Línea de código.

>>>
1
3
5
7
9

Pregunta 2: Crea un bucle while que cuente de 0 a 10, e imprima
números impares en la pantalla.

>>i = 0
>>while i < 11:
>>  if i %2 != 0:
>>    print(i)
>>  i = i+1

>>>
1
3
5
7
9
Pregunta 3: Crea un programa con un bucle for y una sentencia break.
El programa debe iterar sobre los caracteres en una dirección de correo electrónico,
salir del bucle cuando llegue al símbolo @ e imprimir la parte antes de @ en una línea.

>>e_mail = input("Ingrese una dirección de correo electrónico: ")
>>for i in e_mail:
>>  if i == "@":
>>    break
>>  print(i, end="")

>>>
Ingrese una dirección de correo electrónico: pythonparaingenieros@gmail.com
pythonparaingenieros


Pregunta 4: Crea un programa con un bucle for y una sentencia continue.
El programa debe iterar sobre una cadena de dígitos, reemplazar cada 0 con x,
e imprimir la cadena modificada en la pantalla.
>>for digit in "0165031806510":
>>    if digit == "0":
>>        print("x", end="")
>>        continue
>>    print(digit, end="")    

>>>
x165x318x651x

Pregunta 5: ¿Cuál es la output del siguiente código?

>>n = 3
 
>>while n > 0:     # primera iteración 3 > 0 ; segunda: 2>0; tercera: 1>0
>>    print(n + 1) # se imprime 4; se imprime 3; se imprime 2
>>    n -= 1       # se le resta una unidad a n, es decir n =2; n=1; n= 0
>>else:
>>    print(n)     # cuarta iteración imprime 0

>># entonces la salida debería ser la siguiente:
>># 4
>># 3
>># 2
>># 0

>>>
4
3
2
0

Pregunta 6: ¿Cuál es la output del siguiente código?

>>n = range(4)
 
>>for num in n:          # 0, 1, 2, 3
>>    print(num - 1)     # -1, 0, 1, 2
>>else:
>>    print(num)         # 3

>>>
-1
0
1
2
3

Pregunta 7: ¿Cuál es la output del siguiente código?

>>for i in range(0, 6, 3): # val_min= 0; val_max=6; incrementos = 3
>>    print(i)             # 0, 3,

>>>
0
3

Resumen de sección while & For

 3.2.16 RESUMEN DE SECCIÓN


1. Existen dos tipos de bucles en Python: while y for:

  • El bucle while ejecuta una sentencia o un conjunto de sentencias siempre que una condición booleana especificada sea verdadera, por ejemplo:
# Ejemplo 1
while True:
    print("Atrapado en un bucle infinito.")
 
# Ejemplo 2
counter = 5
while counter > 2:
    print(counter)
    counter -= 1
 
  • El bucle for ejecuta un conjunto de sentencias muchas veces; se usa para iterar sobre una secuencia (por ejemplo, una lista, un diccionario, una tupla o un conjunto; pronto aprenderás sobre ellos) u otros objetos que son iterables (por ejemplo, cadenas). Puedes usar el bucle for para iterar sobre una secuencia de números usando la función incorporada range. Mira los ejemplos a continuación:
# Ejemplo 1
word = "Python"
for letter in word:
    print(letter, end="*")
 
# Ejemplo 2
for i in range(1, 10):
    if i % 2 == 0:
        printprint(i)
 

2. Puedes usar las sentencias break y continue para cambiar el flujo de un bucle:

  • Utiliza break para salir de un bucle, por ejemplo:
text = "OpenEDG Python Institute
for letter in text:
    if letter == "P":
        break
    print(letter, end="")
 
  • Utiliza continue para omitir la iteración actual, y continuar con la siguiente iteración, por ejemplo:
text = "pyxpyxpyx
for letter in text:
    if letter == "x":
        continue
    print(letter, end="")
 

3. Los bucles while y for también pueden tener una cláusula else en Python. La cláusula else se ejecuta después de que el bucle finalice su ejecución siempre y cuando no haya terminado con break, por ejemplo:

n = 0
 
while n != 3:
    print(n)
    n += 1
else:
    print(n, "else")
 
print()
 
for i in range(0, 3):
    print(i)
else:
    print(i, "else")
 

4. La función range() genera una secuencia de números. Acepta enteros y devuelve objetos de rango. La sintaxis de range() tiene el siguiente aspecto: range(start, stop, step), donde:

  • start es un parámetro opcional que especifica el número de inicio de la secuencia (0 por defecto)
  • stop es un parámetro opcional que especifica el final de la secuencia generada (no está incluido).
  • y step es un parámetro opcional que especifica la diferencia entre los números en la secuencia es (1 por defecto.)

Código de ejemplo:

for i in range(3):
    print(i, end=" ")  # output: 0 1 2
 
for i in range(6, 1, -2):
    print(i, end=" ")  # output: 6, 4, 2
 

3.8. Bucles, sentencias Break y Continue

 Las sentencias break y continue

Hasta ahora, hemos tratado el cuerpo del bucle como una secuencia indivisible e inseparable de instrucciones que se realizan completamente en cada giro del bucle. Sin embargo, como desarrollador, podrías enfrentar las siguientes opciones:

  • parece que no es necesario continuar el bucle en su totalidad; se debe abstener de seguir ejecutando el cuerpo del bucle e ir más allá;
  • parece que necesitas comenzar el siguiente giro del bucle sin completar la ejecución del turno actual.

Python proporciona dos instrucciones especiales para la implementación de estas dos tareas. Digamos por razones de precisión que su existencia en el lenguaje no es necesaria - un programador experimentado puede codificar cualquier algoritmo sin estas instrucciones. Tales adiciones, que no mejoran el poder expresivo del lenguaje, sino que solo simplifican el trabajo del desarrollador, a veces se denominan dulces sintácticos o azúcar sintáctica.

Estas dos instrucciones son:

  • break - sale del bucle inmediatamente, e incondicionalmente termina la operación del bucle; el programa comienza a ejecutar la instrucción más cercana después del cuerpo del bucle.
  • continue - se comporta como si el programa hubiera llegado repentinamente al final del cuerpo; el siguiente turno se inicia y la expresión de condición se prueba de inmediato.

Ambas palabras son palabras clave reservadas.

Ahora te mostraremos dos ejemplos simples para ilustrar como funcionan las dos instrucciones. Mira el código en el editor. Ejecuta el programa y analiza la output. Modifica el código y experimenta.

>># break - ejemplo

>>print("La instrucción break:")

>>for i in range(1, 6):

    >>if i == 3:

        >>break

    >>print("Dentro del bucle.", i)

>>print("Fuera del bucle.")

>># continue - ejemplo

>>print("\nLa instrucción continue:")

>>for i in range(1, 6):

    >>if i == 3:

        >>continue

    >>print("Dentro del bucle.", i)

>>print("Fuera del bucle.")


Las sentencias break y continue: más ejemplos

Regresemos a nuestro programa que reconoce el más grande entre los números ingresados. Lo convertiremos dos veces, usando las instrucciones de break y continue.

Analiza el código y determina como las usarías.

La variante empleando break es la siguiente:

>>while True:

    >>number = int(input("Ingresa un número o escribe -1 para finalizar el programa: "))

    >>if number == -1:

        >>break

    >>counter += 1

    >>if number > largest_number:

        >>largest_number = number


>>if counter != 0:

    >>print("El número más grande es", largest_number)

>>else:

    >>print("No has ingresado ningún número.")

domingo, 22 de marzo de 2026

Bucle While. Adivina el numero secreto del mago

 Escenario

Un mago junior ha elegido un número secreto. Lo ha escondido en una variable llamada secret_number. Quiere que todos los que ejecutan su programa jueguen el juego Adivina el número secreto, y adivina qué número ha elegido para ellos. ¡Quiénes no adivinen el número quedarán atrapados en un bucle sin fin para siempre! Desafortunadamente, él no sabe cómo completar el código.

Tu tarea es ayudar al mago a completar el código en el editor de tal manera que el código:

  • pedirá al usuario que ingrese un número entero;
  • utilizará un bucle while;
  • comprobará si el número ingresado por el usuario es el mismo que el número escogido por el mago. 
  • Si el número elegido por el usuario es diferente al número secreto del mago, el usuario debería ver el mensaje "¡Ja, ja! ¡Estás atrapado en mi bucle!" y se le solicitará que ingrese un número nuevamente. 
  • Si el número ingresado por el usuario coincide con el número escogido por el mago, el número debe imprimirse en la pantalla, y el mago debe decir las siguientes palabras: "¡Bien hecho, muggle! Eres libre ahora."

¡El mago está contando contigo! No lo decepciones.


 INFO EXTRA  

Por cierto, observa la función print(). La forma en que lo hemos utilizado aquí se llama impresión multilínea. Puedes utilizar comillas triples para imprimir cadenas en varias líneas para facilitar la lectura del texto o crear un diseño especial basado en texto. Experimenta con ello.

SOLUCION:

>>secret_number = 777

>>print(

>>"""

+================================+

| ¡Bienvenido a mi juego, muggle!|

| Introduce un número entero     |

| y adivina qué número he        |

| elegido para ti.               |

|¿Cuál es el número secreto?     |

+================================+

>>""")

>>number = int(input('por favor ingrese un numero entero: '))

>>while number != secret_number:

  >>print("¡Ja, ja! ¡Estás atrapado en mi bucle!")

  >>number = int(input('por favor ingrese un numero entero: '))

>>print( 'El numero ingresado es: '+ str(number) + " ¡Bien hecho, muggle! Eres libre ahora.")

>>>

secret_number = 777


print(

"""

+================================+

| ¡Bienvenido a mi juego, muggle!|

| Introduce un número entero     |

| y adivina qué número he        |

| elegido para ti.               |

|¿Cuál es el número secreto?     |

+================================+

""")

number = int(input('por favor ingrese un numero entero: '))

while number != secret_number:

  print("¡Ja, ja! ¡Estás atrapado en mi bucle!")

  number = int(input('por favor ingrese un numero entero: '))

print( 'El numero ingresado es: '+ str(number) + " ¡Bien hecho, muggle! Eres libre ahora.")


lunes, 29 de diciembre de 2025

365 dias de Python en Clcoding. Dia 15. Bucle while

 ¡Llegamos al Día 15! Hoy entramos en el mundo de la iteración. Hasta ahora, tu código se ejecutaba de arriba abajo una sola vez. Con los bucles, puedes hacer que una parte de tu programa se repita tantas veces como sea necesario.


🐍 Día 15: El Bucle while (Mientras...)

El bucle while ejecuta un bloque de código mientras una condición sea verdadera. Es ideal para situaciones donde no sabes exactamente cuántas veces tendrás que repetir algo.

El Código del Reto

Python
>># 1. Contador simple
>>contador = 1

>>while contador <= 5:
>>    print("Contador vale:", contador)
>>    contador += 1  # ¡Súper importante! Incrementamos para no crear un bucle infinito

>>print("¡Bucle terminado!")

>># 2. Ejemplo interactivo (Pedir datos hasta que sea correcto)
>>clave = ""
>>while clave != "python123":
>>    clave = input("Introduce la contraseña secreta: ")

>>print("Acceso concedido.")
>>>
Contador vale: 1
Contador vale: 2
Contador vale: 3
Contador vale: 4
Contador vale: 5
¡Bucle terminado!
Introduce la contraseña secreta: python123
Acceso concedido.

💡 ¿Qué estamos aprendiendo hoy?

  1. La Condición: El bucle revisa la condición (contador <= 5) antes de cada repetición. Si es True, entra; si es False, salta al final.

  2. Actualización de la variable: En el primer ejemplo, usamos contador += 1. Si olvidamos esto, el contador siempre valdría 1, la condición siempre sería verdadera y el programa se quedaría "colgado" en un bucle infinito.

  3. Casos de uso: El while es perfecto para menús de aplicaciones, juegos (mientras el jugador tenga vidas) o validar entradas de usuario.

🚩 El concepto de break

A veces queremos salir de un bucle antes de que la condición principal cambie. Para eso usamos la palabra clave break.

Python
>>i = 1
>>while i < 100:
>>    print(i)
>>    if i == 3:
>>        break  # Se detiene aquí, aunque 3 sea menor que 100
>>    i += 1
>>>
1
2
3

¿Pasamos al Día 16?

En el Día 16, el reto suele presentar al "rey de los bucles" en Python: el Bucle for. Es mucho más común que el while porque se usa para recorrer listas, diccionarios y rangos de números de forma muy sencilla.

¿Te gustaría ver cómo funciona el bucle for en el Día 16?

Entradas recientes

¿Existen herramientas para RCA (Root Cause Analysis) en Python?

Fuente: Gemini IA.  Sí, existen librerías especializadas en Python para realizar análisis de causa raíz (Root Cause Analysis o RCA), especi...

Entradas Populares