Zagnieżdżona odpowiedź
Pełniejsza odpowiedź API o starcie nie trzyma wszystkiego na najwyższym poziomie: rakieta jest osobnym słownikiem, a misja zawiera listę obrazków naszywek. Publiczna strona startu pokazuje rakietę i naszywkę misji.
Wydobądź te dwie wartości z zagnieżdżonej odpowiedzi, a potem spraw, żeby strona poradziła sobie z misją, której grafika nie jest jeszcze gotowa.
Ukończ etap 1, aby odblokować ten etap.
Wypisz nazwę rakiety i adres pierwszej naszywki:
Rakieta: H3 Naszywka: https://cdn.example.org/patches/lumen-3.png
Łącz jeden krok na poziom: launch["rocket"] to słownik, więc launch["rocket"]["name"] to jego nazwa. Naszywki to lista wewnątrz misji, a każda naszywka to słownik.
Ukończ etap 1, aby odblokować ten etap.
Dodaj operatora i orbitę i poradź sobie ze startem, którego lista naszywek jest jeszcze pusta:
Rakieta: H3, operator: JAXA Orbita: SSO Naszywka: https://cdn.example.org/patches/lumen-3.png
Przy "patches": [] ostatnia linia to Naszywka: brak. Nazwij części, których używasz więcej niż raz, rocket = launch["rocket"] i patches = launch["mission"]["patches"], i sprawdź listę przed wzięciem [0].
Podpowiedzi
Zagnieżdżone słowniki
# Zagnieżdżone słowniki
missions = {
"Apollo 11": {
"year": 1969,
"target": "Księżyc",
"success": True,
"crew": ["Armstrong", "Aldrin", "Collins"]
},
"Voyager 1": {
"year": 1977,
"target": "Kosmos międzygwiezdny",
"success": True,
"current_distance_au": 159
}
}
# Dostęp do zagnieżdżonych danych
print("Rok Apollo 11:", missions["Apollo 11"]["year"])
print("Załoga:", missions["Apollo 11"]["crew"])
# Pierwszy astronauta
print("Dowódca:", missions["Apollo 11"]["crew"][0])
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].