JSON na wyjściu
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ć.
Ukończ etap 1, aby odblokować ten etap.
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ń.
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
}Podpowiedzi
Import modułów systemowych
# 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))
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].