Space Python Ładowanie Pythona…

Indeks po identyfikatorze

Napisz kodŚredni 2 etapy

Załoga przez cały dzień pyta o ładunek po identyfikatorze: „gdzie jest CG-0045 i ile waży?”. Przeszukiwanie całej listy manifestu przy każdym pytaniu działa dla sześciu pozycji, ale prawdziwy manifest ma ich tysiące.

Zbuduj raz indeks od identyfikatora do rekordu, a potem odpowiadaj z niego na pytania.

Zbuduj słownik o nazwie by_id, który przypisuje każdemu identyfikatorowi ładunku jego rekord, potem wyszukaj w nim wanted i wypisz rekord:

CG-0045 | Wkłady pochłaniacza CO2 | podtrzymanie życia | 31.3 kg

Zacznij od by_id = {} i dla każdego rekordu zapisz go pod record["id"]. Wtedy by_id[wanted] to cały rekord.

Zindeksuj manifest
Prawdziwy indeks

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

Załoga wysyła listę zapytań zamiast jednego identyfikatora. Odpowiedz na każde z indeksu; identyfikator, którego w nim nie ma, dostaje komunikat zamiast błędu KeyError:

CG-0044 | Liofilizowane posiłki | żywność | 42.0 kg
CG-0099: nie ma go w manifeście
CG-0042 | Wkłady filtrów wody | podtrzymanie życia | 18.5 kg

Zbuduj by_id jak wcześniej, potem przejdź pętlą po requests i sprawdzaj każdy identyfikator przez in by_id przed odczytem.

Odpowiedz na każde zapytanie
Działa dla każdych zapytań
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

Tworzenie słowników

Słownik przechowuje pary klucz:wartość w nawiasach klamrowych. Dostęp przez klucz jest bardzo szybki. get() bezpiecznie pobiera wartość.
tworzenie-slownikow-python.py
# Słowniki - pary klucz: wartość

# Tworzenie słownika
ship = {
    "name": "Enterprise",
    "class": "Constitution",
    "crew": 430,
    "active": True
}
print("Statek:", ship)

# Dostęp do wartości
print("Nazwa:", ship["name"])
print("Załoga:", ship["crew"])

# Metoda get() - bezpieczniejsza
print("Kapitan:", ship.get("captain", "Nieznany"))

# Pusty słownik
data = {}
print("Pusty:", data)
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:].