Space Python Ładowanie Pythona…

JSON na wyjściu

Napisz kodŁatwy 2 etapy

Na koniec każdego dnia panel misji wysyła podsumowanie do archiwum, a archiwum przyjmuje tylko JSON. Podsumowanie istnieje już jako słownik Pythona. Wypisanie go przez print(summary) wygląda podobnie, ale pojedyncze cudzysłowy, True i None to nie JSON, więc archiwum je odrzuca.

Wygeneruj prawdziwy tekst JSON, ułożony tak, żeby człowiek też mógł go przeczytać.

Zamień summary na tekst JSON z wcięciem 2 spacji, zapisz go w text i wypisz:

{
  "mission": "Lumen-3",
  "agency": "JAXA",
  "ground_station": "Toru\u0144",
  "orbits": 12,
  "max_temp_c": 455.2,
  "alerts": [
    "Wysoka temperatura baterii 3",
    "Szukacz gwiazd zgubi\u0142 namiar"
  ],
  "crewed": false,
  "next_pass": null
}

Użyj json.dumps(summary, indent=2). Zobacz, czym stały się False, None i Toruń.

JSON z wcięciami
Prawdziwy JSON w text

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

Zachowaj czytelne Toruń przez ensure_ascii=False i posortuj klucze przez sort_keys=True, żeby pliki z dwóch dni zgadzały się linia w linię przy porównaniu:

{
  "agency": "JAXA",
  "alerts": [
    "Wysoka temperatura baterii 3",
    "Szukacz gwiazd zgubił namiar"
  ],
  "crewed": false,
  "ground_station": "Toruń",
  "max_temp_c": 455.2,
  "mission": "Lumen-3",
  "next_pass": null,
  "orbits": 12
}
Czytelny i posortowany
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:].