Skopiowane bloki
Ekran stanu zbiorników powstał w pośpiechu: jeden blok kodu dla zbiornika A, a potem ten sam blok skopiowany dla B i C. Działa, ale każdą zmianę trzeba wprowadzać trzy razy, a następny zbiornik oznacza czwartą kopię.
Zamień kopie na jedną pętlę, nie zmieniając ani jednego znaku wyniku, a potem zobacz, jak tani staje się kolejny zbiornik.
Ukończ etap 1, aby odblokować ten etap.
Zastąp trzy skopiowane bloki listą par (nazwa, poziom) i jedną pętlą. Zostaw trzy zmienne z poziomami, które pochodzą z telemetrii. Wynik musi zostać dokładnie taki sam:
Zbiornik A: 78.3% Zbiornik B: 12.5% NISKI Zbiornik C: 46.0%
Zbuduj tanks = [("A", tank_a), ("B", tank_b), ("C", tank_c)], potem użyj pętli for name, level in tanks: i zostaw jedną kopię if/else, z name zamiast litery.
Ukończ etap 1, aby odblokować ten etap.
Zamontowano czwarty zbiornik. Dodaj tank_d = 9.75 pod tank_c i jeszcze jedną parę do listy. Potem, po pętli, wypisz zbiorniki z niskim poziomem albo brak, gdy ich nie ma:
Zbiornik A: 78.3% Zbiornik B: 12.5% NISKI Zbiornik C: 46.0% Zbiornik D: 9.8% NISKI Zbiorniki z niskim poziomem: B, D
Zbieraj nazwy zbiorników z niskim poziomem w liście w pętli i połącz je po niej.
Podpowiedzi
Pętla for - podstawy
# Pętla for - przechodzi przez elementy
planets = ["Merkury", "Wenus", "Ziemia", "Mars"]
# Podstawowa pętla for
print("Planety skaliste:")
for planet in planets:
print(f" - {planet}")
# Iterowanie po stringu
name = "NASA"
for letter in name:
print(letter, end=" ")
print()
# Range - generuje liczby
print("Odliczanie:")
for i in range(5, 0, -1):
print(i, end="... ")
print("START!")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].