Space Python Ładowanie Pythona…

Nazwy z wartościami

Napisz kodŁatwy 2 etapy

Dekoder telemetrii przekazuje każdą ramkę jako osobne listy: nazwy czujników w jednej, odczyty w drugiej, w pasującej kolejności. Ekran potrzebuje ich z powrotem razem: każdej nazwy obok jej wartości.

Połącz listy w pary, dodaj jednostki i upewnij się, że ekran zauważy, gdy listy do siebie nie pasują.

Wypisz każdy czujnik z jego odczytem, przechodząc przez obie listy jednocześnie:

ENG-1: 398.0
ENG-2: 412.5
TANK-1: 78.3
CABIN: 101.2

zip(sensors, readings) daje pary: pierwszy czujnik z pierwszym odczytem i tak dalej. Rozpakuj każdą parę w nagłówku pętli.

Połącz nazwy z wartościami
Działa dla każdej ramki

Ukończ etap 1, aby odblokować ten etap.

Dodaj jednostki pod odczytami i wypisz każdą wartość z jej jednostką:

units = ["C", "C", "%", "kPa"]
ENG-1: 398.0 C
ENG-2: 412.5 C
TANK-1: 78.3 %
CABIN: 101.2 kPa

zip() przyjmuje trzy listy równie łatwo jak dwie. Ale jeśli jedna lista jest krótsza, kończy wcześniej bez słowa i odczyt znika z ekranu. Przed pętlą sprawdź, czy trzy długości są równe, a jeśli nie, najpierw wypisz ostrzeżenie:

Uwaga: czujniki 4, odczyty 3, jednostki 4
ENG-1: 398.0 C
ENG-2: 412.5 C
TANK-1: 78.3 %

len(sensors) == len(readings) == len(units) sprawdza wszystkie trzy naraz.

Dodaj jednostki
Ostrzegaj o listach, które nie pasują
Nie jesteś zalogowany, więc postęp zostaje tylko w tej przeglądarce. Zaloguj się, aby go zapisać i korzystać z podpowiedzi oraz rozwiązań.

Podpowiedzi

Pętla for z enumerate i range

enumerate() dodaje numerację do elementów. range() generuje sekwencję liczb. Można określić start, stop i krok.
petla-for-enumerate-range.py
# enumerate() - indeks + element

missions = ["Apollo 11", "Apollo 12", "Apollo 13"]

for number, mission in enumerate(missions, start=1):
    print(f"{number}. {mission}")

# range() - generowanie sekwencji liczb
print("\nKwadraty liczb:")
for n in range(1, 6):
    print(f"{n}^2 = {n**2}")

# range z krokiem
print("\nLata misji (co 5 lat):")
for year in range(2020, 2041, 5):
    print(year)
Otwórz cały przykład
script.py
PythonWiersz 1, kol. 1Spacje: 4
Ładowanie środowiska Pythona…

Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].