Corso di Sviluppo Python
Capitolo
>
Livello
Condizioni
Istruzioni break e continue
Obiettivo
Elimina alcune erbacce nel passaggio tra gli edifici utilizzando le condizioni dei cicli.
Nel passaggio tra gli edifici crescono erbacce, raccogli tutte le erbacce e scaricale utilizzando i cicli. Esistono modi per automatizzare questo processo utilizzando le condizioni dei cicli.
Crea una variabile chiamata bag e usala per immagazzinare le erbacce mentre le raccogli. Utilizza un ciclo while con condizioni per automatizzare il processo, in totale ci sono dieci (10) erbacce.
while True: player.move_forward() bag += 1 if bag == 10: break
Impostando il ciclo while a True, il ciclo non terminerà a meno che non venga usato l'operatore break per interromperlo. Ogni ciclo del loop aggiunge un'erbaccia nel sacco e verifica quante erbacce sono state raccolte per eventualmente interrompere il ciclo. L'istruzione if viene utilizzata per controllare se il ciclo deve break o meno; verifica quante erbacce sono nel bag e interrompe il ciclo se si raggiunge la quantità desiderata.
Dopo aver percorso il passaggio, utilizza un ciclo for per scaricare le erbacce nei contenitori usando la funzione place() nei punti segnati da una X. La distanza in passi tra ogni contenitore non è uniforme, poiché c'è uno spazio vuoto. Utilizzando l'operatore continue, salti un ciclo del loop testando una condizione tramite un'istruzione if.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
Nel codice sopra, l'istruzione if verifica se x, ovvero il numero di cicli del loop, è uguale a 1. Questo ciclo for viene eseguito tre (3) volte come definito da range(): poiché x parte da 0, assume i valori 0, 1, 2 prima di completare il ciclo. Dato che si verifica se il ciclo del loop è al valore 1, il codice dopo continue non verrà eseguito, bensì saltato se la condizione è soddisfatta. In questo modo possiamo evitare lo spazio vuoto tra i due contenitori, saltando il ciclo intermedio.
Poiché ci sono due (2) casse, utilizza la funzione place() per scaricare le erbacce immagazzinate nella variabile bag dividendone il totale, in questo modo: player.place(bag/2) .
Una volta raccolte e posizionate le erbacce nel luogo corretto, raggiungi l'uscita segnata da una stella per completare il livello.