Curso de Desarrollo en Python
Capítulo
>
Nivel
Condiciones
Sentencias Break y Continue
Objetivo
Limpiar algunas malezas en el pasaje entre edificios usando condiciones de bucle.
El pasaje entre edificios tiene malezas creciendo, recoge todas las malezas y deséchalas usando bucles. Hay formas de automatizar este proceso usando condiciones de bucle.
Crea una variable llamada bag y úsala para almacenar las malezas a medida que las recoges. Usa un bucle while con condiciones para automatizar el proceso, hay diez (10) malezas en total.
while True: player.move_forward() bag += 1 if bag == 10: break
Al establecer el bucle while en True, el bucle no terminará a menos que se use el operador break para cerrar el bucle. Cada ciclo del bucle añade una maleza a la bolsa y verifica cuántas malezas se han recogido para romper el bucle. La declaración if se usa para verificar si el bucle debe break o no, verifica cuántas malezas hay en la bag y se rompe si se cumple la cantidad.
Después de navegar por el pasaje, usa un bucle for para desechar las malezas en los contenedores usando la función place() en las marcas X. Sin embargo, la cantidad de pasos entre cada contenedor es desigual ya que hay un espacio entre ellos. Usando el operador continue, se puede omitir un ciclo del bucle probando una condición a través de la declaración if.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
En el código anterior, la declaración if verifica si x, es decir, el número de ciclos del bucle, está en 1. Este bucle for se ejecuta tres (3) veces como está definido por range(), ya que x comienza en 0, se ejecuta 0, 1, 2 antes de completar el bucle. Dado que verificas si el ciclo del bucle está en 1, el código bajo continue no se ejecutará y en su lugar será omitido si se cumple esa condición. Con esto podemos evitar el espacio entre los dos contenedores, omitiendo el ciclo intermedio.
Como hay dos (2) contenedores, usa la función place() para desechar las malezas almacenadas en la variable bag dividiendo el total colocado, así: player.place(bag/2).
Una vez que hayas recogido y colocado las malezas en el lugar adecuado, llega a la salida marcada por una estrella para completar el nivel.