Space Python Ładowanie Pythona…

Telemetria z CSV

Napisz kodŚredni 2 etapy

Parser strumienia z „Przetwórz cały strumień” wciąż czyta dwie linie, które ktoś wkleił w program. Stacja naziemna dostarcza teraz porządny eksport, telemetry.csv, z wierszem nagłówka, i zmienia się on co kilka sekund.

Czytaj sam plik, modułem stworzonym do tego, a potem wybierz najgorętszy odczyt.

Zastąp stary parser i jego napis feed: otwórz telemetry.csv z newline="", przejdź pętlą po csv.DictReader(csv_file) i wypisz każdy wiersz w tym samym formacie co wcześniej:

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
09:30:15 ENG-1: 455.2 C
09:30:15 ENG-3: 98.6 C
09:30:15 TANK-1: 78.1 %

Każdy row to słownik z kluczami z nagłówka: row["sensor"], row["value"] i tak dalej. Linie zapisujące plik zostaw bez zmian.

Każdy wiersz z pliku
Modułem csv

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

W trakcie pętli trzymaj najgorętszy odczyt w stopniach Celsjusza, jednostka C, w hottest i wypisz go po odczytach:

Najgorętszy: ENG-1 455.2 C o 09:30:15

Porównuj float(row["value"]), a nie tekst: jako napis "98.6" jest po "455.2".

Najwyższa temperatura
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

Import modułów systemowych

import-modulow-systemowych.py
# Moduł to skrzynka z narzędziami, którą ktoś już zbudował i przetestował za Ciebie

# Zwykły import wczytuje cały moduł
import sys
import platform
import math

# from ... import wczytuje tylko jedno narzędzie
from math import sqrt

# as nadaje modułowi krótszy przydomek
import random as rng

# Przy zwykłym imporcie: nazwa modułu, kropka, potem narzędzie
print("Wersja Pythona:", platform.python_version())
print("System:", platform.system())
print("Python mieszka w:", sys.executable)

# math zawiera stałe, których nie chciałbyś wpisywać z pamięci
radius_km = 6371
print("Obwód Ziemi:", round(2 * math.pi * radius_km), "km")

# sqrt przyszło samo, więc nie potrzebuje kropki przed sobą
print("Pierwiastek kwadratowy z 9:", sqrt(9))

# rng to po prostu przydomek dla random
print("Losowy dzień roku marsjańskiego:", rng.randint(1, 687))
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:].