Moduł statistics
Podsumowanie temperatur ma własne mean() i median(). Działają, przeważnie. Ktoś kiedyś pomylił medianę dla parzystej liczby odczytów, a odchylenia standardowego nikt jeszcze nie napisał, bo wyglądało na sporo pracy.
Python ma to wszystko, przetestowane, w bibliotece standardowej. Użyj tego.
Ukończ etap 1, aby odblokować ten etap.
Usuń ręcznie napisane mean() i median(), dodaj import statistics na górze i wypisz te same dwie linie przez statistics.mean() i statistics.median():
Średnia: 418.8 C Mediana: 413.8 C
Wynik się nie zmienia: o to chodzi w refaktoryzacji. Sprawdzenie szuka modułu i upewnia się, że twoich własnych funkcji już nie ma.
Ukończ etap 1, aby odblokować ten etap.
Teraz są trzy przeloty. Dla każdego wypisz średnią, medianę i odchylenie standardowe, statistics.stdev(). Przelot 2 ma jeden odczyt, a przelot 3 żadnego; złap statistics.StatisticsError i wypisz dla nich komunikat samego modułu:
Przelot 1: średnia 418.8 C, mediana 413.8 C, odchylenie 21.1 C Przelot 2: stdev requires at least two data points Przelot 3: mean requires at least one data point
Podpowiedzi
Import modułów systemowych
# 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))
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].