Brakujący indeks
Monitor silnika przechowuje pięć ostatnich odczytów i pokazuje najnowszy na ekranie. Programista policzył pięć odczytów, napisał readings[5] i monitor wysypuje się przy każdym uruchomieniu.
Przewidź, co się stanie, sprawdź, które indeksy istnieją, napraw to, a potem wybierz odczyty z obu końców i ze środka.
Ukończ etap 1, aby odblokować ten etap.
Nie uruchamiaj jeszcze kodu. Przeczytaj go i zdecyduj, co wypisze. Wpisz swoje przewidywanie w prediction, na górze, w cudzysłowie. Potem uruchom kod i porównaj.
Na tym etapie zalicza każde przewidywanie: chodzi o to, żeby pomyśleć przed uruchomieniem. Po sprawdzeniu zobaczysz swoje przewidywanie obok tego, co wypisał Python.
Policz odczyty, a potem policz indeksy.
Ten program kończy się błędem, a programu, który się wysypuje, nie da się sprawdzić. Gdy go uruchomisz i zobaczysz błąd, postaw # przed linią print, a potem sprawdź: zobaczysz swoje przewidywanie obok tego, co zrobiła oryginalna linia.
Ukończ etap 1, aby odblokować ten etap.
Zbadaj. Zapisz liczbę odczytów w reading_count, a indeks ostatniego w last_index.
Zmień. Wypisz najnowszy odczyt tak, żeby działało to też wtedy, gdy lista jest dłuższa albo krótsza. Ma wypisać:
Najnowszy odczyt: 430.1
Ukończ etap 2, aby odblokować ten etap.
Wypisz pierwszy odczyt, środkowy i ostatni:
Pierwszy: 412.5 Środkowy: 455.2 Ostatni: 430.1
Środkowy jest na indeksie len(readings) // 2: 2 dla pięciu odczytów, 3 dla siedmiu. Wszystko musi działać dla dowolnej liczby odczytów.
Podpowiedzi
Indeksowanie i modyfikowanie list
# Dostęp do elementów listy
moons = ["Io", "Europa", "Ganimedes", "Kallisto"]
# Indeksowanie (od 0!)
print("Pierwszy:", moons[0])
print("Ostatni:", moons[-1])
# Zmiana elementu
moons[0] = "IO"
print("Po zmianie:", moons)
# Wycinanie
print("Środkowe:", moons[1:3])
# Dodawanie elementu
moons.append("Amaltea")
print("Po dodaniu:", moons)
# Usuwanie elementu
moons.remove("Kallisto")
print("Po usunięciu:", moons)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].