Python-utvecklingskurs
Kapitel
>
Nivå
Villkor
Bryt- och fortsättsatser
Mål
Rensa ut några ogräs i passagen mellan byggnader med hjälp av loopvillkor.
Passagen mellan byggnaderna har ogräs som växer, samla in alla ogräs och dumpa dem med hjälp av loopar. Det finns sätt att automatisera denna process genom att använda loopvillkor.
Skapa en variabel med namnet bag och använd den för att lagra ogräset när du plockar upp dem. Använd en while-loop med villkor för att automatisera processen, det finns totalt tio (10) ogräs.
while True: player.move_forward() bag += 1 if bag == 10: break
Genom att sätta while-loopen till True kommer loopen inte att avslutas om inte operatorn break används för att avsluta loopen. Varje loopcykel lägger till ett ogräs i påsen och kontrollerar hur många ogräs som har plockats upp för att bryta loopen. if-satsen används för att kontrollera om loopen ska break eller inte, den kontrollerar hur många ogräs som finns i bag och bryter om antalet uppnås.
Efter att ha navigerat genom passagen, använd en for-loop för att dumpa ogräset i behållare med hjälp av funktionen place() vid X-markeringarna. Antalet steg mellan varje behållare är dock ojämnt eftersom det finns ett gap däremellan. Genom att använda operatorn continue hoppar du över en loopcykel genom att testa ett villkor via en if-sats.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
I koden ovan kontrollerar if-satsen om x, det vill säga antalet loopcykler, är lika med 1. Denna for-loop körs tre (3) gånger som definierat av range(), eftersom x börjar på 0 kör den 0, 1, 2 innan loopen avslutas. Eftersom du kontrollerar om loopcykeln är vid 1 kommer koden under continue inte att köras och istället hoppas över om villkoret är uppfyllt. På detta sätt kan vi undvika gapet mellan de två behållarna genom att hoppa över den mittersta cykeln.
Eftersom det finns två (2) lådor, använd funktionen place() för att dumpa ogräset som lagrats i variabeln bag genom att dela den totala mängden, på detta sätt: player.place(bag/2) .
När du har samlat och placerat ogräset på rätt plats, nå utgången markerad med en stjärna för att slutföra nivån.