Przypadki brzegowe
Podsumowanie na panelu silnika używa małej funkcji mean(). Działa na zwykłych listach. Nikt nie wypróbował jej na pustym przelocie, przelocie z jednym odczytem ani na czujnikach kriogenicznych, których odczyty są poniżej zera.
Napisz sprawdzenia dla zwykłych przypadków, a potem dla brzegowych, w których psują się prawdziwe programy.
Ukończ etap 1, aby odblokować ten etap.
Pod funkcją napisz sprawdzenia assert dla zwykłej listy odczytów i dla listy z tylko jedną wartością. Dodaj listę, której średnia nie jest liczbą całkowitą, na przykład [1, 2]. Gdy wszystkie są spełnione, wypisz:
Wszystkie sprawdzenia przeszły
Zostaw funkcję dokładnie taką, jaka jest.
Ukończ etap 1, aby odblokować ten etap.
Teraz krawędzie. Dodaj sprawdzenia, że pusta lista daje None (porównuj przez is None) i że listy z wartościami ujemnymi dają właściwą średnią, na przykład [-2, 2], której średnia to 0. Zostaw linię o powodzeniu na końcu.
Ukryte testy psują sprawdzenie pustej listy i obsługę liczb ujemnych.
Podpowiedzi
Instrukcja return - podstawy
# Return - zwracanie wartości z funkcji
def convert_to_km(miles):
"""Przelicza mile na kilometry."""
return miles * 1.60934
# Przypisanie wyniku do zmiennej
distance = convert_to_km(100)
print(f"100 mil = {distance:.2f} km")
# Użycie bezpośrednio
print(f"50 mil = {convert_to_km(50):.2f} km")
# Funkcja bez return zwraca None
def just_display(text):
print(text)
result = just_display("Test")
print(f"Wynik: {result}")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].