No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Loops: While

33/38
Recursos

Aportes 110

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

TABLA MULTIPLICACIÓN CON WHILE

contador = 0;
y = int(input("numero de la tabla: "))
x = int(input("Ingresa hasta que numero quieres multiplicar : "));
while contador < x:
    contador+= 1;
    resultado = y * contador;
    print(f"{y} X {contador} =  {resultado}");

Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición (es decir, mientras la condición tenga el valor True).

El continue sirve para saltarse ciertas partes del código. Por ejemplo, si quiero hacer un conteo de números hasta el 10, pero no quiero que el 5 sea contado, hago lo siguiente:

number = 0
while number < 10:
  number += 1
  if number == 5:
    continue
  print(number)

El resultado que me arrojará, será el siguiente:

1
2
3
4
6
7
8
9
10

el hablando tranquilo , del ciclo infinito :
mi ansiedad : weeey detenlooo ya

El bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera. El bloque de código se ejecuta repetidamente hasta que la condición llega ser o es falsa

Aprender Bucles, nos permitirá pasar de resolver un problema de la forma #1 a la forma #2 que es mucho más elegante y simplificada.
 

Los bucles son estructuras de control que nos ayudan a repetir una o varias veces un bloque de comandos.

Al igual que los condicionales, los loops usan una condición para establecer si debemos acabar la repetición o para especificar el número de veces que vamos a ejecutar nuestro código (tambien puede repetirse indefinidamente).

Tablas de multiplicar
Dias de la semana

Si entendí es, con el if se ejecuta una operación si la condición es verdadera, y en el while se ejecuta la operación de manera continua hasta que la condición sea falsa.

while True:
print(“Nunca pares de aprender”)

En mi repositorio del curso en GitHub:

https://github.com/ddasilva64

los compañeros que lo deseen, pueden encontrar el fichero 21_while.py, así como todos los demás, apuntes en Markdown y otros ejemplos hechos por mí. Gracias.

Los ciclos while son una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva, sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos.

Con el ciclo while, no conoces el cuándo sino el cómo. Es decir, conocer la condición bajo la cual se va a detener el ciclo, pero no sabes cuántas iteraciones tomará eso, ni cuánto tiempo. Por ello se los llama ciclos indeterminados.

En este ejemplo se ejecuta un ciclo infinito

while True:
  print('se ejecuto')
#salida
se ejecuto
se ejecuto
se ejecuto
se ejecuto
se ejecuto

Sentencia break

Existe una forma de se interrumpirá el ciclo While antes de que se cumpla la condición, consiste en utilizar la sentencia break, la sentencia break rompe el ciclo While antes de que se cumpla la condición

print('Ejemplo 2')
print('========')
print('la sentencia break rompera el ciclo break cuando counter')
counter = 0
while counter < 20:
  counter += 1
  if counter == 15:
    break
  print(counter)
print(' ')
#salida
Ejemplo 2
========
la sentencia break rompera el ciclo break cuando counter
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Sentencia continue

La sentencia continue permite saltar lógica de programación según una condición dada

print('Ejemplo 3')
print('========')
print('la sentencia continue saltara la logica dentro while, en este caso mienta el valor sea menor a 15 no imprimira nada')
counter = 0
while counter < 20:
  counter += 1
  if counter < 15:
    continue
  print(counter)
print(' ')
Ejemplo 3
========
la sentencia continue saltara la logica dentro whilea, en este caso mienta el valor sea menor a 15 no imprimira nada
15
16
17
18
19
20

Ejemplo completo

from os import system
system('clear')

print('Ejemplo 1')
print('========')
print('La condicion de parada es contrar hasta 10')
counter = 0
while counter < 10:
  counter += 1
  print(counter)
print(' ')

print('Ejemplo 2')
print('========')
print('la sentencia break rompera el ciclo break cuando counter')
counter = 0
while counter < 20:
  counter += 1
  if counter == 15:
    break
  print(counter)
print(' ')

print('Ejemplo 3')
print('========')
print('la sentencia continue saltara la logica dentro whilea, en este caso mienta el valor sea menor a 15 no imprimira nada')
counter = 0
while counter < 20:
  counter += 1
  if counter < 15:
    continue
  print(counter)
print(' ')

debo comentar, que hasta ahora se me había hecho difícil entender el tema de los ciclos, y no se si es de la cantidad de veces que he visto y estudiado sobre ellos, buscando la forma de entenderlo que al fin lo entendí o fue este profesor, que genialidad.

#El bucle while evalúa una condición y luego ejecuta un bloque
#de código si la condición es verdadera.
counter = 0
while counter < 10:
    counter +=1
    if counter ==5:
        break # Rompe un flujo o ciclo de manera forzada
    print(counter)

#
counter1 = 0
while counter1 < 20:
    counter1 +=1
    if counter1 < 15:
        continue #El bucle no termina sino que continúa con la siguiente iteración.
print(counter1)

Metan todo de sí para aprender rápido, esta miedoso y desafiante las nuevas tecnologías de Chat GPT que pueden hacer un cocido mejor que Yo. Ah estudiar!

¿Qué le mejoraría a este código de Chat GPT?

import tkinter as tk
import random

# Crear la ventana principal
ventana = tk.Tk()
ventana.title("Juego de Piedra, Papel o Tijeras")

# Crear las opciones del juego
opciones = ["piedra", "papel", "tijeras"]

# Crear la función de juego
def juego(opcion):
  # Generar una elección aleatoria para la computadora
  computadora = random.choice(opciones)

  # Comparar la elección del jugador con la elección de la computadora
  if opcion == computadora:
    resultado.config(text="Empate")
  elif opcion == "piedra" and computadora == "tijeras":
    resultado.config(text="Ganaste")
  elif opcion == "papel" and computadora == "piedra":
    resultado.config(text="Ganaste")
  elif opcion == "tijeras" and computadora == "papel":
    resultado.config(text="Ganaste")
  else:
    resultado.config(text="Perdiste")

# Crear los botones de piedra, papel y tijeras
piedra = tk.Button(ventana, text="Piedra", command=lambda: juego("piedra"))
papel = tk.Button(ventana, text="Papel", command=lambda: juego("papel"))
tijeras = tk.Button(ventana, text="Tijeras", command=lambda: juego("tijeras"))

# Crear el label para mostrar el resultado
resultado = tk.Label(ventana, text="Elige una opción")

# Agregar los widgets a la ventana
piedra.pack()
papel.pack()
tijeras.pack()
resultado.pack()

# Ejecutar la ventana
ventana.mainloop()

Yo viendo a Nicolás explicando con toda calma mientras el ciclo se ejecuta infinitamente 😶

Que error mas raro el del minuto 5:55!!! Python: Hey, men. Tienes un error en la linea 17, que cosa es COUNT? Yo: Oye python, no seas mamon, ahi no dice COUNT dice COUNTER y esta definido. Python: Ah si, verdad bro, sorry. CORRREEELAAAA!!!

Cuando usas break y le dices que corte al llegar el valor a 15, en realidad si llega a 15, pero rompe antes de imprimir en pantalla el ultimo numero alcanzado. Esto lo especifico para no confundir al estudiante que inicia. (Vos decis que no llega a sumar 15, y se queda en 14 pero eso “creo” que es errado, si llega a 15, pero corta antes que haga el ultimo “print(counter)”

'''while True:
    print("Se ejecuto")

counter = 0

while counter < 10:
    counter += 1
    print(counter)
'''

'''counter = 0

while counter < 20:
    counter += 1
    if counter == 15:
        break
    print(counter)'''
    
counter=0

while counter < 20:
    counter += 1
    if counter < 15:
        continue
    print(counter)
**Consejos para trabajar con el ciclo while:** **Evita los bucles infinitos:** Asegúrate de que la condición del ciclo while eventualmente se vuelva False. De lo contrario, el ciclo continuará indefinidamente, lo que puede causar que tu programa se bloquee. \# Ejemplo de un bucle infinito \# while True: \#     print("Este es un bucle infinito!") **Usa la declaración break para salir del ciclo:** Si necesitas salir del ciclo while basado en alguna condición aparte de la condición principal del ciclo, puedes usar la declaración break. contador = 0 while True:     if contador == 5:         break     contador += 1 Usa la declaración continue para saltar a la siguiente iteración: Si necesitas saltar el resto del ciclo y pasar a la siguiente iteración, puedes usar la declaración continue. contador = 0 while contador < 10:     contador += 1     if contador % 2 == 0:         continue     print(contador) **Maneja las excepciones dentro del ciclo while:** Si estás realizando operaciones que pueden lanzar excepciones dentro del ciclo while, asegúrate de manejar esas excepciones para evitar que tu programa se bloquee. while True:     try:         x = int(input("Por favor ingrese un número: "))         break     except ValueError:         print("Oops! No era válido. Intente nuevamente...") **Usa else con while:**  permite usar una cláusula else con el ciclo while. El bloque de código dentro de else se ejecutará una vez que la condición del ciclo while se vuelva False. contador = 0 while contador < 5:     print(contador)     contador += 1 else:     print("El contador ya no es menor que 5")

Los ciclos (también conocidos como bucles) son estructuras que permiten repetir un bloque de código varias veces. Los ciclos son útiles cuando queremos ejecutar una acción o un conjunto de acciones de forma repetitiva, ahorrando tiempo y evitando la repetición manual de código.

Ciclo while: El ciclo “while” se utiliza cuando se desea ejecutar un bloque de código mientras se cumpla una determinada condición. La condición se verifica antes de cada iteración y, si se cumple, se ejecuta el bloque de código. Si la condición no se cumple, el ciclo se detiene y el control se transfiere a la siguiente instrucción después del ciclo.

la matrix amigos jajajaja

import random
num = [0,1,2,3,4,5,6,7,8,9]

counter = 0

while counter <1:
  print(random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ',random.choice(num), ' ')

quise hacer que me imprimiera un mensaje y a la vez siguiera su ciclo

La instrucción break se utiliza para interrumpir la ejecución de un bucle (ya sea un ciclo for o while) de forma prematura. Cuando se encuentra la instrucción break, el flujo del programa salta inmediatamente fuera del bucle y continúa con la ejecución del código que sigue después del bucle.

Por ejemplo, supongamos que queremos encontrar un número específico en una lista y detener la búsqueda una vez que lo hayamos encontrado:

En este caso, utilizamos un ciclo for para recorrer cada número en la lista. Cuando encontramos el número que estamos buscando (6 en este ejemplo), imprimimos un mensaje y utilizamos la instrucción break para salir del ciclo for. Después del ciclo, se muestra el mensaje “Fin del programa”.

Por otro lado, la instrucción continue se utiliza para saltar a la siguiente iteración de un bucle sin ejecutar el código que sigue a dicha instrucción en esa iteración en particular. Cuando se encuentra la instrucción continue, el flujo del programa se mueve directamente a la siguiente iteración del bucle.

Veamos un ejemplo en el que queremos imprimir solo los números impares de una lista:

En este caso, utilizamos un ciclo for para recorrer cada número en la lista. Si un número es divisible por 2 (es decir, es par), utilizamos la instrucción continue para saltar a la siguiente iteración sin imprimir el número. Solo se imprimirán los números impares de la lista.

Si ejecuto el while sin el break, podria hacer un desbordamiento de la memoria? y asii un ataque DDOS?.

while counter < 20:
counter += 1
if counter < 15:
continue
else:
print(f’siguio y el valor es {counter}’)

import random

#Creamos variables
lista_opciones = ('piedra', 'papel', 'tijera')
victorias_usuario = 0
victorias_cpu = 0
seguir = True

while seguir:

#seleccion de opciones:
  user_option = input('piedra, papel o tijera => ')
  user_option = user_option.lower()
  if not user_option in lista_opciones:
    print('Esa opcion no es valida')
  computer_option = random.choice(lista_opciones)

  print(" ")
  print(f'El usuario ha sacado {user_option}')
  print(f'La CPU ha sacado {computer_option}')
  print(" ")
  

  
#definimos posibilidades
#Piedra usuario
  if user_option == 'piedra':
    if computer_option == 'piedra':
      print('Ambas piedra, hay empate')
    elif computer_option == 'papel':
      print('Piedra pierde contra papel, punto CPU')
      victorias_cpu += 1
    elif computer_option == 'tijera':
      print('Tijera pierde contra piedra, punto Usuario')
      victorias_usuario += 1
    print(f'victorias usuario {victorias_usuario} --- victorias CPU {victorias_cpu}')
  
  
#papel usuario
  elif user_option == 'papel':
    if computer_option == 'piedra':
      print('Piedra pierde contra papel, punto Usuario')
      victorias_usuario += 1
    elif computer_option == 'papel':
      print('Ambas piedra, hay empate')
    elif computer_option == 'tijera':
      print('Papel pierde contra tijera, punto CPU')
      victorias_cpu += 1
    print(f'victorias usuario {victorias_usuario} --- victorias CPU {victorias_cpu}')
  
  
  #tijera usuario
  elif user_option == 'tijera':
    if computer_option == 'piedra':
      print('Tijera pierde contra piedra, punto CPU')
      victorias_cpu += 1
    elif computer_option == 'papel':
      print('Papel pierde contra tijera, punto Usuario')
      victorias_usuario += 1
    elif computer_option == 'tijera':
      print('ambos tijera, hay empate')
    print(f'victorias usuario {victorias_usuario} --- victorias CPU {victorias_cpu}')


  if input('Desea continuar jugando? ').lower() == 'si':
    print(" ")
    continue
  else:
    break

Break: Finaliza las evaluaciones del ciclo.
Continue: Redirige todo el programa a evaluar la condición del while.

Un pequeño ejemplo de uso while

<stock = int(input("ingrese el stock: "))
while stock <= 100 or stock >= 1000:
  print ("Este stock es invalido, el stock debe ser un numero entre 100 y 1000")
  stock = int (input ("ingrese el stock: "))
else:
  print("Gracias por sus servicios!")> 
""" while """
x = 1
# print("x =", x)

while x <= 10:
  print("x =", x)
  x += 1

# break
print("-" * 35)
a = 0
b = 0
# print("a =", a)
# print("b =", b)

while a <= 10:
  if b > 6:
    break
  print("a =", a)
  print("b =", b)
  a += 1
  b += 2

# continue
print("-" * 35)
a = 0
b = 0
print("a =", a)
print("b =", b)

while a <= 10:
  if b % 2 == 0:
    a += 1
    b += 1
    continue
  print("a =", a)
  print("b =", b)
  a += 1
  b += 1
Este fue mi código, les puede ayudar a reforzar el tema del "continue" ```js while counter < 9: counter += 1 print(counter) if counter < 6: continue print(f'Contando hasta {counter}') ```
**Consejos para trabajar con el ciclo while:** **Evita los bucles infinitos:** Asegúrate de que la condición del ciclo while eventualmente se vuelva False. De lo contrario, el ciclo continuará indefinidamente, lo que puede causar que tu programa se bloquee. \# Ejemplo de un bucle infinito \# while True: \#     print("Este es un bucle infinito!") **Usa la declaración break para salir del ciclo:** Si necesitas salir del ciclo while basado en alguna condición aparte de la condición principal del ciclo, puedes usar la declaración break. contador = 0 while True:     if contador == 5:         break     contador += 1 ódigo generado por IA. Revisar y usar cuidadosamente. Más información sobre preguntas frecuentes. Usa la declaración continue para saltar a la siguiente iteración: Si necesitas saltar el resto del ciclo y pasar a la siguiente iteración, puedes usar la declaración continue. contador = 0 while contador < 10:     contador += 1     if contador % 2 == 0:         continue     print(contador) **Maneja las excepciones dentro del ciclo while:** Si estás realizando operaciones que pueden lanzar excepciones dentro del ciclo while, asegúrate de manejar esas excepciones para evitar que tu programa se bloquee. while True:     try:         x = int(input("Por favor ingrese un número: "))         break     except ValueError:         print("Oops! No era válido. Intente nuevamente...") **Usa else con while:**  permite usar una cláusula else con el ciclo while. El bloque de código dentro de else se ejecutará una vez que la condición del ciclo while se vuelva False. contador = 0 while contador < 5:     print(contador)     contador += 1 else:     print("El contador ya no es menor que 5")

counter = 0

while counter < 20:
counter += 1
if counter < 15:
print(counter)
else:
break
otra manera de hacerlo muchachos!

Ese while es de gran ayuda para colocarle stop a los ciclos repetitivos.
La sentencia break, finaliza la ejecucion del bucle. La sentencia continue, finaliza la iteración actual y continua con la siguiente.
Esto es lo importante de la clase: Los ciclos como while pueden hacer que una acción se repita múltiples veces (y en ocasiones infinitamente) al ejecutar un código. Eso puede afectar la memoria RAM. Por tanto, en la clase se abordaron dos métodos para detener el ciclo: break y continue Resumiendo, para los loops con while, es importante: 1. Declarar o caracterizar el ccódigo a ejecutar. Por ejemplo `while counter < 20: ` 2. Declarar la ejecución `counter += 1` 3. Después es importante delclarar la condición que detendría el ciclo, como: `if counter < 15: ` 4. Emplear alguno de los elementos vistos que rompen el ciclo: `break`, que lo detiene como tal, `continue`, que lo detiene hasta cierto punto , en otras palabras, se salta parte del código del punto 2.
En Python, el bucle `while` se utiliza para repetir un bloque de código mientras se cumpla una condición específica. Mientras la condición sea verdadera, el código dentro del bucle se ejecutará repetidamente. Aquí tienes un ejemplo básico del uso del bucle `while`: python Copy codecontador = 0 while contador < 5: print(contador) contador += 1 En este ejemplo, el bucle `while` imprimirá los números del 0 al 4, ya que la condición `contador < 5` se cumple. Es importante tener cuidado al usar bucles `while` para evitar bucles infinitos. Es fundamental asegurarse de que la condición en algún momento se vuelva falsa para que el bucle se detenga. ### Uso de la instrucción `break` y `continue` en un bucle `while`: * La instrucción `break` se utiliza para salir del bucle inmediatamente, independientemente de si la condición del bucle todavía es verdadera. * La instrucción `continue` se utiliza para omitir el resto del código dentro del bucle y continuar con la siguiente iteración. python Copy codecontador = 0 while contador < 5: if contador == 2: contador += 1 continue # Salta el resto del código en esta iteración si contador es igual a 2 print(contador) if contador == 3: break # Sale del bucle cuando contador es igual a 3 contador += 1 En este ejemplo, el bucle `while` imprimirá los números 0, 1 y luego saldrá del bucle cuando el contador sea igual a 3. El bucle `while` es útil cuando no se conoce de antemano cuántas iteraciones se necesitarán, ya que se ejecuta mientras se cumple una condición específica. Sin embargo, es importante tener en cuenta que un bucle `while` debe tener una lógica que eventualmente haga que la condición sea falsa para evitar bucles infinitos.
La función `while` en Python es una estructura de control que permite ejecutar repetidamente un bloque de código mientras una condición específica sea verdadera. Primero, se evalúa la condición. Si es verdadera, se ejecuta el bloque de código dentro del `while`. Después de cada ejecución del bloque, la condición se vuelve a evaluar. Si la condición sigue siendo verdadera, el bloque de código se ejecuta nuevamente. Este proceso continúa hasta que la condición se vuelva falsa, momento en el que la ejecución del bucle `while` se detiene y el programa continúa con la siguiente instrucción después del bucle. Es importante tener cuidado con las condiciones de salida del bucle para evitar bucles infinitos. # Inicializamos una variable de conteo contador = 0 # Usamos un bucle while para imprimir los números del 0 al 4 while contador < 5: # Mientras el contador sea menor que 5 print(contador) # Imprime el valor del contador contador += 1 # Incrementa el contador en 1 en cada iteración print("¡Bucle completado!") # Se imprime cuando el bucle termina En este ejemplo, la variable `contador` se inicializa en 0. El bucle `while` se ejecutará mientras la condición `contador < 5` sea verdadera. En cada iteración del bucle, el valor del contador se imprime y luego se incrementa en 1 (`contador += 1`). Este proceso continúa hasta que `contador` alcanza el valor de 5, momento en el que la condición se vuelve falsa y el bucle se detiene. Finalmente, se imprime "¡Bucle completado!" después de que el bucle haya terminado.
<#Ciclo infinito, no se especifica cuando deterse
#Mientras true se cumpla la condicion se va ejecutar 
'''
while True:
  print('se ejecuto')
'''

#Condicion 
counter = 0
#Mientras counter sea menor a 10 el contador se va a ejecutar
while counter < 10:
  counter += 1
  print(counter)



#Romper el ciclo mediante una condicion dentro de una condicional if 
counter = 0

while counter < 20:
  counter += 1
  if counter == 15:
    break #romper el ciclo de forma forzada sin validacion del ciclo 
  print(counter)

#Continuar un ciclo saltando partes 
counter = 0

while counter < 20:
  counter += 1
  if counter < 15:
    continue #salta a la siguiente iteracion del ciclo sin ejecutar el codigo posterior
  print(counter) #muestra solo los numeros mayores a 15> 
![]()![](https://static.platzi.com/media/user_upload/image-2cd77664-1a00-4d72-ac4e-c5dc524601f1.jpg) no entiendo porque solo ejecuta el 20...
```python Introducción a los Bucles While Un bucle while en Python permite repetir una o varias instrucciones mientras una condición sea verdadera. La estructura básica es: python Copy code while condición: # Bloque de código La condición es evaluada antes de cada iteración, y si resulta ser verdadera (True), el bloque de código dentro del bucle se ejecuta. Después de cada iteración, la condición se evalúa nuevamente. Si la condición se evalúa como falsa (False), el bucle termina y el flujo del programa continúa con las instrucciones posteriores al bucle. Ejemplo 1: Contador Vamos a empezar con un ejemplo simple para entender cómo funciona: python Copy code contador = 0 while contador < 5: print(f"El valor actual del contador es {contador}") contador += 1 Este código imprimirá los números del 0 al 4. La condición se verifica antes de cada iteración, y el bucle se repite hasta que contador sea igual a 5. Ejemplo 2: Bucle con Condición Compuesta Ahora, veamos un ejemplo un poco más complejo: python Copy code contador = 0 suma = 0 while contador < 10 and suma < 20: contador += 1 suma += contador print(f"Contador: {contador}, Suma: {suma}") Este bucle se ejecuta mientras se cumplan dos condiciones: que contador sea menor que 10 y que suma sea menor que 20. Es un ejemplo de cómo podemos usar condiciones compuestas con and. Ejemplo 3: Uso de break y continue Podemos controlar el flujo de un bucle while con las instrucciones break y continue. break termina el bucle de manera inmediata. continue omite las instrucciones restantes en el ciclo actual y pasa a la siguiente iteración. python Copy code contador = 0 while contador < 10: contador += 1 if contador == 5: continue # Salta el resto del código en el bucle para esta iteración if contador == 8: break # Sale del bucle print(contador) Este código imprimirá los números del 1 al 10, saltándose el 5 y parando cuando llegue a 8 debido al break. Ejemplo 4: Bucle While Infinito con Condición de Salida Un bucle while puede correr indefinidamente si su condición siempre es verdadera. Sin embargo, podemos implementar una condición de salida dentro del bucle. python Copy code while True: entrada = input("Escribe 'salir' para terminar el bucle: ") if entrada == "salir": break else: print(f"Introdujiste: {entrada}") Este ejemplo es un bucle infinito que solo se rompe si el usuario escribe "salir". Ejemplo 5: Bucle While con Else Python permite usar else con bucles while, ejecutándose el bloque else si el bucle termina normalmente (sin romperse con break). python Copy code contador = 0 while contador < 3: print(f"Contador es {contador}") contador += 1 else: print("El bucle ha terminado sin interrupciones.") Este ejemplo muestra cómo se puede notificar al usuario de que el bucle ha terminado sin ser interrumpido por un break. Consejos para Evitar Bucles Infinitos Asegúrate de que la condición del bucle pueda volverse falsa en algún momento. Modifica, dentro del bucle, las variables que participan en la condición. Utiliza break con precaución para evitar salidas prematuras o bucles infinitos. Conclusión Los bucles while son herramientas poderosas en Python que te permiten ejecutar un bloque de código mientras se cumpla una condición. Combinando bucles while con instrucciones de control como break y continue, puedes manejar con precisión cómo y cuándo quieres que tu código repita operaciones. Recuerda practicar con ejemplos propios para entender completamente estos conceptos. ```Introducción a los Bucles While Un bucle `while` en Python permite repetir una o varias instrucciones mientras una condición sea verdadera. La estructura básica es: pythonCopy code`while` condición: ` # Bloque de código` La `condición` es evaluada antes de cada iteración, y si resulta ser verdadera (`True`), el bloque de código dentro del bucle se ejecuta. Después de cada iteración, la condición se evalúa nuevamente. Si la condición se evalúa como falsa (`False`), el bucle termina y el flujo del programa continúa con las instrucciones posteriores al bucle. ### Ejemplo 1: Contador Vamos a empezar con un ejemplo simple para entender cómo funciona: pythonCopy code`contador = 0` `while contador < 5`: ` print(f"El valor actual del contador es {contador}"`) ` contador += 1` Este código imprimirá los números del 0 al 4. La condición se verifica antes de cada iteración, y el bucle se repite hasta que `contador` sea igual a 5. ### Ejemplo 2: Bucle con Condición Compuesta Ahora, veamos un ejemplo un poco más complejo: pythonCopy code`contador = 0` `suma = 0` `while contador < 10 and suma < 20`: ` contador += 1` suma += contador ` print(f"Contador: {contador}, Suma: {suma}"`) Este bucle se ejecuta mientras se cumplan dos condiciones: que `contador` sea menor que 10 y que `suma` sea menor que 20. Es un ejemplo de cómo podemos usar condiciones compuestas con `and`. ### Ejemplo 3: Uso de `break` y `continue` Podemos controlar el flujo de un bucle `while` con las instrucciones `break` y `continue`. * `break` termina el bucle de manera inmediata. * `continue` omite las instrucciones restantes en el ciclo actual y pasa a la siguiente iteración. pythonCopy code`contador = 0` `while contador < 10`: ` contador += 1` ` if contador == 5`: ` continue # Salta el resto del código en el bucle para esta iteración` ` if contador == 8`: ` break # Sale del bucle` ` print`(contador) Este código imprimirá los números del 1 al 10, saltándose el 5 y parando cuando llegue a 8 debido al `break`. ### Ejemplo 4: Bucle While Infinito con Condición de Salida Un bucle `while` puede correr indefinidamente si su condición siempre es verdadera. Sin embargo, podemos implementar una condición de salida dentro del bucle. pythonCopy code`while True`: ` entrada = input("Escribe 'salir' para terminar el bucle: "`) ` if entrada == "salir"`: ` break` ` else`: ` print(f"Introdujiste: {entrada}"`) Este ejemplo es un bucle infinito que solo se rompe si el usuario escribe "salir". ### Ejemplo 5: Bucle While con Else Python permite usar `else` con bucles `while`, ejecutándose el bloque `else` si el bucle termina normalmente (sin romperse con `break`). pythonCopy code`contador = 0` `while contador < 3`: ` print(f"Contador es {contador}"`) ` contador += 1` `else`: ` print("El bucle ha terminado sin interrupciones."`) Este ejemplo muestra cómo se puede notificar al usuario de que el bucle ha terminado sin ser interrumpido por un `break`. ### Consejos para Evitar Bucles Infinitos * Asegúrate de que la condición del bucle pueda volverse falsa en algún momento. * Modifica, dentro del bucle, las variables que participan en la condición. * Utiliza `break` con precaución para evitar salidas prematuras o bucles infinitos. ### Conclusión Los bucles `while` son herramientas poderosas en Python que te permiten ejecutar un bloque de código mientras se cumpla una condición. Combinando bucles `while` con instrucciones de control como `break` y `continue`, puedes manejar con precisión cómo y cuándo quieres que tu código repita operaciones. Recuerda practicar con ejemplos propios para entender completamente estos conceptos.
```js # la instrucción CONTINUE no tiene encuenta el restodel flujo solo se queda en el bucle o en el while hasta que finalice, el resto del code queda pendiente de la finalización del Bucle counter = 0 while counter < 20: counter +=2 print(counter) if counter < 15: continue print('vamos con toda') ```
counter = 0 # Se crea la var while counter < 10:  print('no hemos llegado')  counter += 1  print(counter)
`while` en Python es una estructura de bucle que repite un bloque de código mientras una condición dada sea verdadera. La ejecución del código continúa mientras la condición se evalúe como verdadera. Asegúrate de tener un mecanismo para que la condición eventualmente sea falsa y evitar bucles infinitos. Ejemplo: ```js contador = 1 while contador <= 5: print(contador) contador += 1 ``` Este bucle imprime los números del 1 al 5, ya que la condición `contador <= 5` se mantiene verdadera durante esas iteraciones.
Esta clase no fue nada clara
Considero que utilizar BREAK es no aprovechar al maximo las estructuras de control enseñadas durante el curso, tranquilamente el while counter<20 con condicion de if counter==15 con break se podria evitar haciendo la siguiente linea de codigo: while (counter<20) and (counter!=15): De esta manera se emplean operadores logicos y se puede entender mas lo que estamos ejecutando nosotros mismos.
```python while True: print('ssss') ```
<u>dmfb?</u>
`?`
Hola a todos tengo la siguiente pregunta: Porque mi imprime en la variable i: 1,2,3 y en x:1,2 unicamente solo por haber cambiado de posicion la condicion de sumarle de a en 1 a i y a x Gracias i = 1 while i < 6: print(i) if i == 3: break i += 1 x = 1 while x < 6: print(x) x += 1 if x == 3: break

El bucle while va a ejecutar un bloque de código mientras la condición sea “True”, se utilizaría más que todo cuándo se desconoce la cantidad exacta de las veces que se debería ejecutar el código.

Corrijanme si me equivoco, pero veo que las instrucciones se ejecutan de arriba hacia abajo. Por ejemplo, cuando escribo el mismo código pero cambio el orden de una sola línea, el ultimo número que se imprime también cambia debido al orden en que se ejecutan:

Caso 1:

# Este terminara en 10

counter = 0

while counter < 10:
  counter += 1
  print(counter)

Caso 2:

# Y este terminará en 9
counter = 0

while counter < 10:
  print(counter)
  counter += 1
.
a mi no me funciono el comando ctr c tuve que cerrar
Geniall

Me gusto el aprendizaje del ciclo while. No sabia que tenia un doble uso. Puedo usar el break o el continue. Es algo que no olvidare.

por ejemplo, asi imprimo los impares hasta cierto número: `counter = 0` `while counter < 20:` ` counter += 1 ` ` if counter % 2 == 0:` ` continue` ` print(counter)`

Si la sentencia continue se piensa como omitir, su concepto queda claro, así debería haberse llamado.

Hola les comparto mi codigo comentado

#while
#https://www.w3schools.com/python/python_while_loops.asp

#if True:
#  print('se ejecuto')

'''
#programa infinito, ya que no tiene una salida, este programa puede llenar la memoria ram
while True:
  print('se ejecuto')

#programa 1
counter = 0 
while counter <10: #considerar la identacion, si la identacion no es correcta, marca error
  counter += 1
  print(counter)
'''

'''
#while con break
counter = 0
while counter < 20: #este programa va a hacer incrementos de 1 en 1, de 1 hasta 20
  counter += 1
  if counter == 15: #detiene el codigo si lega a 15
    break #rompe un ciclo de manera forzada
  print(counter)
'''

#while con continuo
counter = 0
while counter < 20: #este programa va a hacer incrementos de 1 en 1, de 1 hasta 20
  counter += 1
  if counter < 15: # si el counter es menor a 15
    continue #salta al siguiente ciclo, se brinca el print(counter), hasta que se deje con cumplir la condicion
  print(counter)

Solo para tener en cuenta en el ejemplo que llega hasta 14 no es por el == 15 sino porque el print está después del break. Para no confundir.

counter = 0
while counter < 20:
    counter += 1
    if counter == 15: # detenerlo dentro del flujo asi no cumpla a 20 sino hasta 15
        break # no lo deja llegar ni a 15 sino hasta 14, del 1 al 14 porqué el print está después
    print(counter)

Comparto un ejercicio de un libro que estoy haciendo. Diganme si se entiende de que va solo con los comentarios 😄

<my_list = [] #Creamos una lista vacia

while len(my_list) < 3: # Utilizamos un bucle while para cargar los primeros 3 datos
    guest = input('Party guest list: ')
    my_list.append(guest)

while True:
    ask = input('Do you want to add another guest? (y/n): ').lower() #Preguntamos al usuario si quiere agregar mas datos
    while ask != 'y' and ask != 'n': # Validamos que la respuesta sea 'y' o 'n'
        ask = input('Invalid input. Please enter "y" or "n": ').lower()

    if ask == 'n':
        break
    else:
        guest = input('Add another guest to the list: ') # Si la respuesta es 'y' continuamos preguntando
    my_list.append(guest) # Agregamos los nuevos objetos a la lista.
    print('List of guests:', my_list) #Imprime la lista}

#Pedimos un nombre de la lista y si desea borrarlo o no. Se imprime la lista final.
del_name = input('Type one of the names')
print(my_list.index(del_name))
del_list = input('Do you want to delete that person from the list? (y/n)').lower()
if del_list == 'y':
    my_list.remove(del_name)

print(my_list)> 

Ejemplo de programa que solicita una contraseña:
pida una contraseña al usuario 3 veces

<
contrasena = 'usuario1'
intentos = 0

while intentos < 3:
    intentos += 1
    ingreso = input('ingrese su contraseña: ')
    if ingreso == contrasena:
        print('Ingreso aceptado')
        break
if intentos == 3:
    print('Ingrese de nuevo en 1 hora o llame a servicio')
> 

Resumen de la clase ☺️💚

ALGUNOS EJEMPLOS DE APLICACIÓN

#VALIDACIÓN DE ENTRADA DE USUARIO:
while True:
 age = input("Ingresa tu edad: ")
 if age.isdigit():
   age = int(age)
   print(f"Tu edad es: {age}")
   break
 else:
   print("Ingresa un número válido")

#SUMA DE NÚMEROS HASTA DETENERSE:

sum = 0
continuar = True
while continuar:
  numero = float(input("Ingresa un número (0 para detenerse):"))
  if numero == 0:
    continuar = False
  else:
    sum = sum + numero
print(f"La suma de los números ingresados es: {sum}")

#GENERACIÓN DE SECUENCIAS:

# El cuadrado de los 10 primeros números:
numero = 1
limite = 10
while numero <= limite:
  cuadrado = numero**2
  print(f"El cuadrado de {numero} es {cuadrado}")
  numero +=1

#FACTORIAL DE UN NÚMERO:
n=5
origina_n = n
factorial = 1
while n >= 1:
  factorial = factorial*n
  n = n-1
print(f"El factorial de {origina_n} es: {factorial}")

ejemplo while:
similar a un do while

    print("\n\nEjemplo similar al do-While")
    i=1
    while True:
        print(i)
        i+=1
        if i > 10:
            print("i>10, el valor de i es:",i)
            break

The else Statement
With the else statement we can run a block of code once when the condition no longer is true:

Example
Print a message once the condition is false:

i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

Esta chevere

Aqui aprendiste, sobre el uso del while.
ten encuenta que while solo va a entrar en operacion siempre y cuando el valor que el recibe sea TRUE y si es False el while no va a funcionar.
num = int(input("Escribe un numero: “))
contador = 1
print(f"Iniciamos la tabla del {num}”)

while num:
    if contador < 10:
        contador += 1
        multiplicador = num * contador
        print(f"{num} x {contador} = {multiplicador} ")
    else:
        break
else:
    print("Terminamos")

Lo notaste verdad?
hemos usado el f=string.
usamos las validaciones que hemos estado hablando.
no usamos while num == True:
porque de por si while ya entiende que el valor debe ser igual a True.
usamos algo nuevo que se llama break, en español es romper. y le estamos diciendo al programa, cuando esta condicion no se cumpla.
rompelo(terminalou).
por otro lado estamos usando el contador para que vaya haciendo el conteo de las vueltas que da el while.

No sé cómo sea en python (el instructor no lo aclara) pero normalmente en un ciclo while se ejecuta la instrucción y después se incrementa el contador, no al revés, eso va a provocar que en algún momento si usas <= una instrucción que necesitas no se va a ejecutar.

Tal vez sea lo mismo y solo fue que no estaba acostumbrado a verlo así.

Les dejo un programita un poco divertido xd le estamos pidiendo un numero al usuaraio que seria hasta que numero se cumple el siclo pero solo lo contamos hasta la mitad porque andamos un poco perezosos. espero les ayude de algo xd

num = input("¿Hasta que numero quieres que cuente? pero solo voy a contar hasta la mitad, estoy un poco perezoso hoy :( : ") 
num = int(num)

counter = 0 
while counter < num:
  counter += 1
  if counter == num / 2 + 1:
    break
  print(counter)
while True:
  print("si es veradero se va a ejecutar")
  break # usar break o presionar ctrl + c

Ya iba a destapar el computador hasta que el profe dijo ‘control C’.

Programa de Piedra, papel, tijera con while.

import random

while True:
    print("¡Juguemos a ... Piedra, papel o tijera!")
    print("1) Piedra\n2) Papel\n3) Tijera")
    
    # Ingreso de opción para el usuario
    user_option = int(input("¿Cuál es tu opción? (Ingresa el número correspondiente): "))
    
    option_tuple = (1, 2, 3)
    
    # Ingreso de opción de la computadora (número aleatorio del 1 al 3)
    computer_option = random.choice(option_tuple)
    
    # Computadora saca esta opción.
    print("La computadora saca:", computer_option)
    
    # Evaluamos con if
    if user_option == computer_option:
        print("¡Empate!, wow, empataste a la computadora")
    elif user_option == 1 and computer_option == 2:
        print("¡Pierdes!... Computadora saca papel, papel envuelve piedra.")
    elif user_option == 1 and computer_option == 3:
        print("¡Ganas!... Computadora sacó tijera, piedra rompe tijera.")
    elif user_option == 2 and computer_option == 1:
        print("¡Ganas!... Computadora sacó piedra, papel envuelve a la piedra.")
    elif user_option == 2 and computer_option == 3:
        print("¡Pierdes!... Computadora 1sacó tijera, tijera rompe papel.")
    elif user_option == 3 and computer_option == 1:
        print("¡Pierdes!... Computadora sacó piedra, piedra rompe tijera.")
    elif user_option == 3 and computer_option == 2:
        print("¡Ganas!... Computadora sacó papel, tijera rompe papel.")
    else:
        print("Elige una opción válida, ¡inténtalo de nuevo!")
    
    play_again = input("¿Quieres jugar de nuevo? (s/n): ")
    
    if play_again.lower() != 's':
        print("Gracias por jugar. ¡Hasta luego!")
        break

#while
if True:
  print('se ejecuto') # para salir crtl +c

count = 0

while counter < 10
counter += 1
 print(counter)

while counter < 20
  counter += 1
  if counter ==15:
    break
 print(counter)

while counter < 20
  counter += 1
  if counter ==15:
   continue
print(counter)
 print(counter)

Los bucles while se utilizan en Python (y en la mayoría de los lenguajes de programación) cuando queremos repetir un bloque de código mientras se cumpla una condición específica. Estos bucles son útiles cuando no sabemos de antemano cuántas veces se debe repetir el bloque de código, ya que la cantidad de iteraciones puede variar según la condición.

Aquí tienes algunos casos comunes en los que se utilizan los bucles while:

Recorrer una lista o una estructura de datos: Podemos utilizar un bucle while para recorrer una lista o cualquier otra estructura de datos y realizar operaciones en cada elemento hasta que se cumpla una condición específica.

Validación de entrada de usuario: Si queremos validar una entrada de usuario hasta que cumpla ciertos requisitos, podemos utilizar un bucle while. Por ejemplo, si solicitamos un número entre 1 y 10, podemos usar un bucle while para seguir solicitando la entrada hasta que el usuario proporcione un valor válido.

Procesamiento de datos hasta alcanzar cierto resultado: Si estamos realizando algún tipo de procesamiento de datos y queremos continuar hasta alcanzar cierto resultado, podemos utilizar un bucle while. Por ejemplo, si estamos realizando cálculos iterativos y queremos seguir ejecutándolos hasta que se alcance cierta precisión, podemos usar un bucle while.

Recuerda que es importante tener cuidado al usar bucles while para evitar caer en bucles infinitos. Es necesario asegurarse de que la condición de salida se cumpla en algún momento para evitar que el bucle se ejecute indefinidamente.

Un bucle while en Python es una estructura de control que repite un bloque de código mientras se cumpla una determinada condición. La condición se evalúa al comienzo de cada iteración y, si es verdadera, el bloque de código se ejecuta. El bucle continuará ejecutándose mientras la condición siga siendo verdadera.

Aquí tienes un ejemplo de un bucle while en Python que cuenta hasta 10:

En este ejemplo, la variable contador se inicializa en 1. El bucle while se ejecutará siempre que contador sea menor o igual a 10. En cada iteración, se imprime el valor actual de contador y luego se incrementa en 1. El bucle se repetirá hasta que contador alcance el valor 11, momento en el que la condición se volverá falsa y el bucle se detendrá.

Este es solo un ejemplo básico, pero los bucles while en Python permiten realizar tareas repetitivas mientras se cumplan ciertas condiciones, lo que los hace muy útiles en programación.

al principio que lo ejecuté y noté que se repetía me dije " Corre Forest, corre"

  1. Ciclos operativo o loops: For & while
    Nos permiten repetir una acción un numero determinado de veces o hasta que se cumpla la condicion especifica.

  2. Qué son los bucles?
    Una forma rapida y sencilla de hacer algo repetitivamente.

2.1 while: permite repetir una acción, siempre y cuando una condición sea verdadera.

usando while para calcular pi

cantidad = 100000
i = 0
acum = 1.0
suma = False
denominador = 1


while i < cantidad:
	denominador += 2
	print(i, denominador)
	if suma:
		acum += 1.0/float(denominador)
	else:
		acum -= 1.0/float(denominador)
		
	suma = not suma
	i += 1
	
print(acum * 4.0)
	

Ejecutar un código repetitivamente cierto número de veces hasta que una condicional se cumpla o hasta que le demos una instrucción de que pare.

Super la clase.

Excelente estas condiciones.

while counter < 20:
	counter += 1
	if counter < 15:
		continue
	print(counter)

Les comparto un aporte sobre el ciclo while para una tabla de multiplicar

a = int(input("Ingrese tabla de multiplicar: "))
b = 0

while b < 10:
    b = b + 1
    print(f"{a} x {b} =", a*b)

while ciclos significa mientras

‘’‘
while True:
print(“Se ejecuta”)
’’’

counter = 0

‘’‘
while counter<10:
counter +=1
print(counter)
’’’

counter = 0

#Break instruccion forzada de rompér un ciclo
’’‘
while counter < 20:
counter+=1
if counter==15:
break
print(counter)
’’’

#Numeros del 1 al 20
’’‘
counter=0
while counter<20:
counter+=1
print(counter)
’’’
#solo nos ejecuta del 15 al 20
counter=0
while counter<20:
counter+=1
if counter <15:
continue
print(counter)

Le pedí a ChatGPT que me ayudara a entender el Continúe en los ciclos. Aquí esta su respuesta:

En Python, continue es una palabra clave utilizada en los ciclos (por ejemplo, ciclos while o for) para saltar a la siguiente iteración del ciclo sin ejecutar las declaraciones restantes en la iteración actual.

Aquí hay un ejemplo de cómo se puede usar continue en un ciclo while:

x = 0
while x < 5:
    x += 1
    if x == 3:
        continue
    print(x)

En este ejemplo, x comienza en 0, y el ciclo while continuará mientras x sea menor que 5. Durante cada iteración del ciclo, x se incrementa en 1. Sin embargo, si x es igual a 3, se ejecutará la declaración continue, lo que hará que el ciclo salte las declaraciones restantes en esa iteración y pase a la siguiente iteración.

Entonces, en este caso, cuando x es igual a 3, la declaración print(x) no se ejecutará, y el ciclo continuará ejecutándose hasta que x sea igual a 5. La salida de este código será:


1
2
4
5

Ten en cuenta que el valor 3 no aparece en la salida porque la declaración continue causó que el ciclo omitiera esa iteración.

En general, continue puede ser útil en situaciones donde necesitas saltar ciertas iteraciones de un ciclo según una condición, mientras sigues iterando hasta que se cumpla la condición de terminación del ciclo.

'''
while True: # while = mientras
  print('se ejecuto')


counter = 0

while counter <10:
  counter += 1
  print(counter)


counter = 0

while counter < 20:
  counter += 1
  if counter == 15:
    break # Rompe el ciclo
  print(counter)

'''

counter = 0
while counter < 20:
  counter += 1
  if counter < 15:
    continue #descarta la lógica despues del continue
  print(counter)

Programa que solicita un entero positivo y imprime números impares desde 0 hasta el número ingresado.

num = int(input('Ingrese un número entero positivo: '))

contador = 0

while contador <= num:
   if contador % 2 != 0:
    print(contador)
   contador += 1

Eres muy buen profesor!!

Algo que muy importante a mencionar es que los ciclos while y for ambos tienen a su disposición la clausula else como si se tratará de un if:

#While con sentencia else
count = 0
while count < 5:
    print(count)
    count = count + 1
else:
    print("Se termino el bucle. Conteo {}".format(count))
##For loop

#Loop con listas y numeros numeros
numbers = [0, 1, 2, 3, 4, 5]
for number in numbers:
    print(f"number: {number}")
else:
    print("Ha terminado el bucle for para listas")

7:25 sí llega hasta el 15, verdad?

Tenia la duda si hasta llegar a la instrucción continue se saltaba a la siguiente validación

counter = 0

while counter < 50:
counter += 4
if counter < 35:
continue
print (counter)

‘’'
while True:
print(‘se ejecuto’)
counter = 0
while counter < 45:
counter += 5
print ( counter)

counter = 0
while counter < 50:
counter += 5
if counter == 45:
break
print(counter)
’’’

Hay que tener mucho cuidado con la indexación. Lo estoy aprendiendo recién.

El ciclo while en Python es una estructura de control de flujo que permite ejecutar repetidamente un bloque de código mientras se cumpla una determinada condición. Es decir, mientras la condición especificada en el while sea verdadera, el bloque de código dentro del while se seguirá ejecutando.

Ejemplos un poco más claros.

Por que la App es extremadamente lenta?

Ciclo while, mientras la condición sea verdadera se ejecuta la función o parametro. Importante establecer una condición para terminar o cumplir con el ciclo.


"""
while True:
  print('se ejecuto')
"""

#  Mientras counter se menor a 10, el bloque se va a ejecutar. 
counter = 0
while counter < 10:
  counter += 1
  print(counter)

# while + condición + cuando se cumple al condición (break) 
counter2 = 0
while counter2 < 20:
  counter2 += 1
  if counter2 == 15:
    break
  print(counter2)

# continue salta a la siguiente Iteración, es decir que el print(counter3) no se va ejecutar siempre y cuando sea menor a 15.
counter3 = 0
while counter3 < 20:
  counter3 += 1
  if counter3 < 15:
    continue
  print(counter3, 'Salto de continue')
  print(counter)
# While

'''while True:
    print("Se ejecuto")

contador = 0

while contador < 10:
    contador += 1
    print(contador)
'''

'''contador=0

while contador < 20:
    contador += 1
    if contador==15:
        break
    print(contador)'''
    
contador=0

while contador < 20:
    contador += 1
    if contador<15:
        continue
    print(contador)