Space Python Ładowanie Pythona…

Z linii rekord

Napisz kodŁatwy 2 etapy

Parser z „Pomiń puste linie i komentarze” wypisuje każdy odczyt i o nim zapomina. Reszta oprogramowania naziemnego potrzebuje samych odczytów: kontrola alarmów, wykresy, raport dzienny. Każda z tych części powinna móc zapytać odczyt o jego czujnik czy wartość po nazwie.

Zapisz każdy odczyt jako rekord, a potem użyj rekordów, żeby odpowiedzieć na pytanie inżyniera.

Zamiast wypisywać każdy odczyt, zapisz go jako słownik w liście o nazwie records, a potem wypisz, ile ich jest, i każdy rekord:

Rekordy: 4
{'time': '09:30:05', 'sensor': 'ENG-2', 'value': 412.5, 'unit': 'C'}
{'time': '09:30:05', 'sensor': 'TANK-1', 'value': 78.3, 'unit': '%'}
{'time': '09:30:10', 'sensor': 'CABIN', 'value': 101.2, 'unit': 'kPa'}
{'time': '09:30:10', 'sensor': 'ENG-2', 'value': 415.0, 'unit': 'C'}

Zacznij od records = []. W pętli zbuduj {"time": timestamp[11:19], "sensor": sensor, "value": float(value), "unit": unit} i dodaj go do listy. Wartość jest w rekordzie liczbą, więc wypisuje się bez cudzysłowów.

Zapisz rekordy
Rekordy, z których skorzysta reszta programu

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

Inżynier chce odczytów ENG-2. Dodaj wanted = "ENG-2" pod kanałem danych, zostaw linię z liczbą, a zamiast wypisywać każdy rekord, wypisz tylko rekordy szukanego czujnika. Jeśli ich nie ma, napisz to:

Rekordy: 4
ENG-2 o 09:30:05: 412.5 C
ENG-2 o 09:30:10: 415.0 C

Przy wanted = "GYRO-X" ostatnia linia to Brak odczytów z GYRO-X.

Czytaj każdy rekord po kluczu: record["sensor"], record["time"] i tak dalej. W f-stringu użyj drugiego rodzaju cudzysłowów: {record['time']}.

Wybierz jeden czujnik
Działa dla każdego czujnika
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

Tworzenie słowników

Słownik przechowuje pary klucz:wartość w nawiasach klamrowych. Dostęp przez klucz jest bardzo szybki. get() bezpiecznie pobiera wartość.
tworzenie-slownikow-python.py
# Słowniki - pary klucz: wartość

# Tworzenie słownika
ship = {
    "name": "Enterprise",
    "class": "Constitution",
    "crew": 430,
    "active": True
}
print("Statek:", ship)

# Dostęp do wartości
print("Nazwa:", ship["name"])
print("Załoga:", ship["crew"])

# Metoda get() - bezpieczniejsza
print("Kapitan:", ship.get("captain", "Nieznany"))

# Pusty słownik
data = {}
print("Pusty:", data)
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:].