Różnice w manifeście
Manifest zmienia się każdego dnia, gdy pozycje są pakowane i rozpakowywane. Kierowniczka załadunku nie chce czytać obu list obok siebie: chce wiedzieć, co się zmieniło.
Ustal, co dodano, a co usunięto, a potem ile zostało bez zmian.
Ukończ etap 1, aby odblokować ten etap.
Wypisz, które identyfikatory dodano od wczoraj, a które usunięto, każdą listę posortowaną:
Dodane: CG-0047, CG-0048 Usunięte: CG-0043, CG-0045
set(today) - set(yesterday) to to, co ma dzisiejsza lista, a czego nie miała wczorajsza. Zbiór nie ma kolejności, więc posortuj go przed połączeniem.
Ukończ etap 1, aby odblokować ten etap.
Dodaj linię z liczbą identyfikatorów, które są na obu listach, i wypisz brak, gdy nic nie dodano albo nie usunięto:
Dodane: CG-0047, CG-0048 Usunięte: CG-0043, CG-0045 Bez zmian: 3
set(today) & set(yesterday) to to, co mają obie listy.
Podpowiedzi
Działania matematyczne na zbiorach
# Operacje matematyczne na zbiorach
nasa = {"ISS", "Hubble", "Voyager", "Perseverance"}
esa = {"ISS", "Hubble", "Rosetta", "BepiColombo"}
# Suma (union) - wszystkie elementy
all_missions = nasa | esa # lub nasa.union(esa)
print("Suma:", all_missions)
# Przecięcie (intersection) - wspólne elementy
common = nasa & esa # lub nasa.intersection(esa)
print("Wspólne:", common)
# Różnica - elementy tylko w pierwszym
only_nasa = nasa - esa
print("Tylko NASA:", only_nasa)
# Różnica symetryczna - elementy w jednym lub drugim
sym_diff = nasa ^ esa
print("Różnica symetryczna:", sym_diff)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].