Space Python Ładowanie Pythona…

Funkcja podsumowania

Napisz kodŚredni 2 etapy

W „Podsumowaniu odczytów” wypisywałeś minimum, maksimum i średnią z jednego przelotu. Teraz panel, raport dzienny i system alarmów potrzebują tych liczb, każdy we własnym formacie, dla każdego przelotu, także takiego, w którym czujnik nic nie przysłał.

Napisz jedną funkcję, która zwraca całe podsumowanie, a potem zabezpiecz ją przed pustym przelotem.

Napisz summarise(readings), która zwraca słownik z kluczami count, min, max i mean. Wtedy print(summarise(pass_1)) wypisze:

{'count': 5, 'min': 398.0, 'max': 455.2, 'mean': 419.5}

Zbuduj słownik w linii z return, przez len(), min(), max() i sum() / len().

Podsumuj przelot
Słownik dla dowolnych odczytów

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

Drugi przelot nie miał danych, a min([]) zatrzymuje się błędem ValueError. Dla pustej listy zwróć count 0 i None dla pozostałych trzech. Zaokrąglij też średnią do jednego miejsca po przecinku. Wypisz oba przeloty:

{'count': 5, 'min': 398.0, 'max': 455.2, 'mean': 419.5}
{'count': 0, 'min': None, 'max': None, 'mean': None}

Najpierw sprawdź if not readings: i wróć wcześniej.

Obsłuż pusty przelot
Poprawnie dla dowolnych odczytów
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

Zwracanie słownika lub listy

Funkcje mogą zwracać słowniki, listy i inne złożone struktury. Przydatne do grupowania powiązanych danych.
zwracanie-slownika-listy.py
# Zwracanie złożonych struktur danych

def get_planet_data(name):
    """Zwraca słownik z danymi planety."""
    database = {
        "Mars": {"diameter": 6779, "moons": 2, "type": "skalista"},
        "Jowisz": {"diameter": 139820, "moons": 95, "type": "gazowa"},
        "Saturn": {"diameter": 116460, "moons": 83, "type": "gazowa"}
    }
    return database.get(name, {"error": "Nie znaleziono"})

def generate_schedule(days):
    """Generuje listę dni misji."""
    return [f"Dzień {i+1}" for i in range(days)]

# Użycie
mars = get_planet_data("Mars")
print(f"Mars - księżyce: {mars["moons"]}")

schedule = generate_schedule(5)
print(f"Harmonogram: {schedule}")
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:].