Space Python Ładowanie Pythona…

Prawdziwy JSON

Napisz kodŁatwy 2 etapy

W „Odpowiedzi API” start przychodził jako gotowy słownik Pythona, z komentarzem, że JSON został już na niego zamieniony. To był skrót. Prawdziwe API wysyła tekst, a pierwsze, co robi z nim każdy program, to zamiana tego tekstu na dane.

Zrób ten krok sam, modułem json, a potem poradź sobie z odpowiedzią, która nie dotarła w całości.

Wypisywanie z „Odpowiedzi API” oczekuje słownika, ale response_text to tekst, a program zatrzymuje się z TypeError: string indices must be integers. Zamień tekst na słownik przez json.loads(), a potem dodaj linię dla crewed:

Start: Lumen-3
Dostawca: JAXA
Status: Go
Załogowy: False

import json już jest na górze; zamień launch = response_text na launch = json.loads(response_text).

Odczytaj JSON
Modułem json

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

W jednej paczce przyszły trzy odpowiedzi, a druga została ucięta w transmisji. Przejdź pętlą po responses, wypisz jedną linię na start i komunikat zamiast awarii dla uszkodzonej odpowiedzi:

Lumen-3 (JAXA): Go
Zła odpowiedź: Unterminated string starting at
Kestrel-7 (ISRO): Hold

Łap json.JSONDecodeError; jego atrybut msg to krótki powód, bez pozycji.

Dwa starty i jeden komunikat
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:].