Kopia, która nią nie jest
Zanim wypróbował zmianę w załodze, planista zrobił kopię składu i eksperymentował na kopii. Gdy eksperyment się skończył, aktualny skład też się zmienił, a Tanaka po cichu z niego zniknęła.
Przewidź, co wypisze kod, sprawdź, jak kopia dotarła do aktualnego składu, napraw to, a potem zaplanuj prawdziwą zmianę w załodze na kopii.
Ukończ etap 1, aby odblokować ten etap.
Nie uruchamiaj jeszcze kodu. Przeczytaj go i zdecyduj, co wypisze w pierwszej linii. Wpisz swoje przewidywanie w prediction, na górze, w cudzysłowie. Potem uruchom kod i porównaj.
Na tym etapie zalicza każde przewidywanie: chodzi o to, żeby pomyśleć przed uruchomieniem. Po sprawdzeniu zobaczysz swoje przewidywanie obok tego, co wypisał Python.
Jakie nazwiska będzie zawierał aktualny skład po zmianie w kopii?
Ukończ etap 1, aby odblokować ten etap.
Zbadaj. Sprawdź przez backup is crew, czy backup i crew to ta sama lista, i zapisz True albo False w same_list. Potem zapisz, ile nazwisk ma crew po remove, w crew_size_after. Przed sprawdzeniem usuń dodane linie.
Zmień. Zrób z backup prawdziwą kopię, żeby zmiana w niej nie ruszała crew. Ma wypisać:
Aktualny skład: ['Okafor', 'Lindqvist', 'Tanaka', 'Kowalska'] Kopia: ['Okafor', 'Lindqvist', 'Kowalska']
Ukończ etap 2, aby odblokować ten etap.
Następna rotacja zamienia Tanakę na Moreau. Zbuduj planowany skład jako osobną listę: skopiuj crew, usuń Tanakę z kopii i dodaj Moreau na końcu. Potem wypisz oba:
Obecny: Okafor, Lindqvist, Tanaka, Kowalska Planowany: Okafor, Lindqvist, Kowalska, Moreau
Obecny skład nie może się zmienić.
Podpowiedzi
Indeksowanie i modyfikowanie list
# Dostęp do elementów listy
moons = ["Io", "Europa", "Ganimedes", "Kallisto"]
# Indeksowanie (od 0!)
print("Pierwszy:", moons[0])
print("Ostatni:", moons[-1])
# Zmiana elementu
moons[0] = "IO"
print("Po zmianie:", moons)
# Wycinanie
print("Środkowe:", moons[1:3])
# Dodawanie elementu
moons.append("Amaltea")
print("Po dodaniu:", moons)
# Usuwanie elementu
moons.remove("Kallisto")
print("Po usunięciu:", moons)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].