Space Python Ładowanie Pythona…

Counter

Napraw kodŁatwy 2 etapy

Licznik poziomów z „Wpisów na poziom” działa: słownik i counts.get(level, 0) + 1, żeby zaczynać każdy nowy poziom od 0. Ten wzorzec pojawia się tak często, że Python ma na niego całą klasę.

Podmień go, a potem użyj tego, czego zwykły słownik za ciebie nie zrobi: sortowania według liczby.

Zaimportuj Counter z collections, zacznij od counts = Counter() i zastąp linię z get() przez counts[level] += 1. Wynik zostaje taki jak był:

DEBUG: 2
ERROR: 1
INFO: 4
WARN: 3
Te same liczby
Przez Counter

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

Zastąp posortowaną listę listą od najczęstszego poziomu w dół, przez counts.most_common(), pod nagłówkiem:

Według częstości:
INFO: 4
WARN: 3
DEBUG: 2
ERROR: 1

most_common() zwraca listę par (poziom, liczba), więc pętla może rozpakować każdą z nich.

Według częstości
Przez most_common()
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

Import modułów systemowych

import-modulow-systemowych.py
# 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))
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:].