Space Python Ładowanie Pythona…

Zdublowane zdarzenia

Napisz kodŚredni 2 etapy

Łącze radiowe z kapsułą gra bezpiecznie: gdy nie jest pewne, czy zdarzenie dotarło, wysyła je ponownie. Centrum Kontroli Misji woli dostać zdarzenie dwa razy niż wcale, ale tablica zdarzeń musi pokazać każde raz.

Odrzuć powtórzone zdarzenia, a potem zgłoś, które się powtórzyły.

Wypisz każde zdarzenie raz, zachowując pierwszą kopię, i policz odrzucone kopie:

EV-1001 Hatch closed
EV-1002 Cabin pressure nominal
EV-1003 Abort system armed
EV-1004 Switched to internal power
Odrzucone duplikaty: 2

Trzymaj już wypisane identyfikatory w zbiorze: zacznij od seen = set(), pomijaj zdarzenie, którego identyfikator jest in seen, i dodawaj przez seen.add() identyfikator każdego wypisanego zdarzenia.

Odrzuć duplikaty
Zbiór widzianych identyfikatorów, dowolne zdarzenia

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

Inżynierowie łącza chcą wiedzieć, które identyfikatory przyszły więcej niż raz. Zbierz je w drugim zbiorze i wypisz posortowane albo brak:

EV-1001 Hatch closed
EV-1002 Cabin pressure nominal
EV-1003 Abort system armed
EV-1004 Switched to internal power
Odrzucone duplikaty: 2
Powtórzone identyfikatory: EV-1001, EV-1002

Dodawaj identyfikator do repeated tam, gdzie liczysz duplikat. Zdarzenie wysłane trzy razy to nadal jeden powtórzony identyfikator.

Wymień powtórzone identyfikatory
Działa dla każdych zdarzeń
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

Operacje na zbiorach

add() dodaje element do zbioru. remove() usuwa lub zgłasza błąd. discard() usuwa bez błędu. pop() usuwa losowy element.
operacje-na-zbiorach.py
# Modyfikowanie zbiorów

stations = {"ISS", "Mir", "Skylab"}

# Dodawanie elementu
stations.add("Tiangong")
print("Po dodaniu:", stations)

# Usuwanie elementu
stations.remove("Mir")
print("Po usunięciu:", stations)

# discard - nie zgłasza błędu gdy brak
stations.discard("Nieistniejąca")
print("Po discard:", stations)

# pop - usuwa losowy element
removed = stations.pop()
print("Usunięty:", removed)
print("Pozostałe:", stations)

# Czyszczenie
copy = {"a", "b", "c"}
copy.clear()
print("Po clear:", copy)
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:].