Wpisy według poziomu
Na koniec każdego okrążenia kierownik lotu dostaje jedną linię o dzienniku: ile było wpisów każdego poziomu. Nagły wzrost liczby ostrzeżeń mówi więcej niż pojedynczy wpis.
Policz wpisy według poziomu, a potem spraw, żeby liczenie przetrwało poziom, którego nikt nie przewidział.
Ukończ etap 1, aby odblokować ten etap.
Policz wpisy każdego poziomu w słowniku o nazwie counts, a potem wypisz każdy poziom z jego liczbą:
INFO: 4 WARN: 3 ERROR: 1
Zacznij od counts = {"INFO": 0, "WARN": 0, "ERROR": 0}. Poziom to drugie słowo wpisu, line.split()[1], a counts[level] += 1 dodaje jeden do jego licznika.
Ukończ etap 1, aby odblokować ten etap.
Inżynierowie włączyli logowanie DEBUG i kod startowy zatrzymuje się teraz z błędem KeyError: 'DEBUG'. Licz każdy poziom, który się pojawi, i wypisz poziomy w kolejności alfabetycznej, żeby raport wyglądał tak samo, w jakiejkolwiek kolejności się pojawią:
DEBUG: 2 ERROR: 1 INFO: 4 WARN: 3
Zacznij od pustego słownika i użyj counts.get(level, 0) + 1. sorted(counts) daje poziomy od A do Z.
Podpowiedzi
Iterowanie po słowniku
# Iterowanie po słowniku
distances = {
"Księżyc": 384400,
"Mars": 225000000,
"Wenus": 108000000
}
# Iterowanie po kluczach
print("Cele:")
for target in distances:
print(f" - {target}")
# Iterowanie po wartościach
print("\nOdległości:")
for km in distances.values():
print(f" {km:,} km")
# Iterowanie po parach
print("\nKompletne dane:")
for target, km in distances.items():
print(f" {target}: {km:,} km")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].