Space Python Ładowanie Pythona…

Zestawienie startów

Napisz kodŚredni 3 etapy

Co rano kontrola misji chce jednej krótkiej listy: które starty nadchodzą, w jakiej kolejności i ile zostało do każdego. API archiwum startów ma to wszystko, jako JSON, w przypadkowej kolejności i razem ze startami, które już się odbyły.

Zbuduj zestawienie, a potem uruchom je na żywym zegarze.

Sparsuj schedule_text, zostaw starty, których okno zaczyna się po report_time, posortuj je według okna i wypisz:

Nadchodzące starty: 4
2026-11-05 09:10 UTC  Aurora Relay (KASA)
2026-11-05 14:30 UTC  Lumen-3 (JAXA)
2026-11-12 03:15 UTC  Kestrel-7 (ISRO)
2026-11-20 18:45 UTC  Polaris Cargo 4 (NASA)

Mała funkcja, na przykład window(launch), zwracająca sparsowany obiekt datetime, nadaje się do porównania i jako key dla sorted(). strftime("%Y-%m-%d %H:%M") formatuje datę i godzinę.

Nadchodzące starty

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

Dodaj czas pozostały do każdego startu, jako dni, godziny i minuty, i oznacz start wstrzymany:

Nadchodzące starty: 4
2026-11-05 09:10 UTC  Aurora Relay (KASA)  za 0d 01h 10m
2026-11-05 14:30 UTC  Lumen-3 (JAXA)  za 0d 06h 30m
2026-11-12 03:15 UTC  Kestrel-7 (ISRO)  za 6d 19h 15m
2026-11-20 18:45 UTC  Polaris Cargo 4 (NASA)  za 15d 10h 45m [WSTRZYMANY]

left = window(launch) - report_time to timedelta: left.days to pełne dni, a left.seconds to reszta czasu, w sekundach.

Zestawienie

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

Kontrola misji uruchamia zestawienie na żywym zegarze. Zastąp stały report_time przez datetime.now(timezone.utc), importując też timezone. Nic więcej się nie zmienia.

Po uruchomieniu zobaczysz zestawienie na tę chwilę; po listopadzie 2026 lista będzie pusta. Sprawdzenie zatrzymuje zegar dwa razy, o 08:00 UTC 5 listopada i o północy 12 listopada, co daje:

Nadchodzące starty: 2
2026-11-12 03:15 UTC  Kestrel-7 (ISRO)  za 0d 03h 15m
2026-11-20 18:45 UTC  Polaris Cargo 4 (NASA)  za 8d 18h 45m [WSTRZYMANY]
Zestawienie na żywo
Prawdziwy zegar
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:].