Przetwórz cały kanał
W „Przetwórz linię telemetrii” dzieliłeś jeden odczyt na pola. Stacja naziemna dostaje dane jako jeden blok tekstu, po jednym odczycie w linii, a parser musi obsłużyć każdą linię w ten sam sposób.
Przejdź pętlą po liniach, podziel każdą z nich i wypisz to, czego potrzebują kontrolerzy lotu.
Ukończ etap 1, aby odblokować ten etap.
Przejdź przez dane linia po linii, podziel każdą linię po przecinkach i wypisz czujnik, wartość i jednostkę:
ENG-2: 412.5 C TANK-1: 78.3 % CABIN: 101.2 kPa ENG-2: 415.0 C
feed.splitlines() daje listę z jednym napisem na linię. W pętli line.split(",") daje cztery pola, jak w „Przetwórz linię telemetrii”.
Ukończ etap 1, aby odblokować ten etap.
Rozpakuj cztery pola do nazw, jak w „Linii manifestu”, i zaczynaj każdą linię od godziny ze znacznika czasu:
09:30:05 ENG-2: 412.5 C 09:30:05 TANK-1: 78.3 % 09:30:10 CABIN: 101.2 kPa 09:30:10 ENG-2: 415.0 C
timestamp, sensor, value, unit = line.split(",") nadaje polom nazwy. Godzina to znaki od 11 do 18 znacznika czasu: timestamp[11:19].
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:].