Curs de Dezvoltare Python
Capitolul
>
Nivel
Condiții
Instrucțiuni break și continue
Obiectiv
Curăță niște buruieni din pasajul dintre clădiri folosind condiții de buclă.
Pasajul dintre clădiri are buruieni care cresc, adună toate buruienile și aruncă-le folosind bucle. Există modalități prin care poți automatiza acest proces folosind condiții de buclă.
Creează o variabilă numită bag și folosește-o pentru a stoca buruienile pe măsură ce le aduni. Folosește o buclă while cu condiții pentru a automatiza procesul, deoarece sunt în total zece (10) buruieni.
while True: player.move_forward() bag += 1 if bag == 10: break
Setând bucla while la True, bucla nu se va încheia decât dacă operatorul break este folosit pentru a închide bucla. Fiecare ciclu de buclă adaugă o buruiană în sac și verifică câte buruieni au fost adunate pentru a întrerupe bucla. Instrucțiunea if este folosită pentru a verifica dacă bucla ar trebui să se break sau nu, verificând câte buruieni sunt în bag și întrerupând dacă numărul este atins.
După navigarea pasajului, folosește o buclă for pentru a arunca buruienile în containere folosind funcția place() la marcajele X. Numărul de pași dintre fiecare container este inegal, deoarece există un spațiu între ele. Folosind operatorul continue, sari peste un ciclu de buclă testând o condiție prin instrucțiunea if.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
În codul de mai sus, instrucțiunea if verifică dacă x, adică numărul ciclurilor de buclă, este la 1. Această buclă for rulează de trei (3) ori, așa cum este definit de range(), deoarece x începe de la 0, rulând pentru valorile 0, 1, 2 înainte de a finaliza bucla. Deoarece se verifică dacă ciclul de buclă este la 1, codul de sub continue nu va rula și va fi sărit dacă această condiție este îndeplinită. Astfel putem evita spațiul dintre cele două containere, sărind peste ciclul de mijloc.
Deoarece există două (2) lăzi, folosește funcția place() pentru a arunca buruienile stocate în variabila bag împărțind totalul plasat, astfel: player.place(bag/2).
Odată ce ai adunat și plasat buruienile în locația potrivită, ajungi la ieșirea marcată cu o stea pentru a termina nivelul.