Napisy się nie zmieniają
Narzędzie kontrolne oznacza odrzucone skrzynie, zmieniając pierwszą literę ich kodu z P na X. Wygląda to na najprostszą linię w całym programie, a wysypuje się za każdym razem.
Przewidź, co się stanie, sprawdź, dlaczego napisów nie da się zmieniać w miejscu, napraw to, budując nowy napis, a potem zmień literę w środku kodu.
Ukończ etap 1, aby odblokować ten etap.
Nie uruchamiaj jeszcze kodu. Przeczytaj go i zdecyduj, co wypisze. 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.
Ten program kończy się błędem, a programu, który się wysypuje, nie da się sprawdzić. Gdy go uruchomisz i zobaczysz, co się dzieje, postaw # przed linią crate[0] = "X", a potem sprawdź: zobaczysz swoje przewidywanie obok tego, co zrobiła oryginalna linia.
Ukończ etap 1, aby odblokować ten etap.
Zbadaj. Zapisz, co daje crate[1:], jako tekst, w rest. Potem wstaw crate.lower() w osobnej linii, wypisz crate i zapisz, czy to nadal "P0042", True albo False, w unchanged. Przed sprawdzeniem usuń dodane linie.
Zmień. Zamiast zmieniać napis, zbuduj nowy: "X", a za nim wszystko po pierwszej literze, i zapisz go z powrotem w crate. Ma wypisać:
Kod skrzyni: X0042
Ukończ etap 2, aby odblokować ten etap.
Kody grafiku dyżurów to podsystem, litera zmiany i dzień: ENG-A-07. Inżynierowie przechodzą na zmianę B. Zbuduj nowy kod z B w miejscu litery zmiany, na indeksie 4, i wypisz oba:
Stary kod: ENG-A-07 Nowy kod: ENG-B-07
Weź wszystko przed indeksem 4, potem "B", potem wszystko po indeksie 4. Nie używaj replace("A", "B"): ta litera może się pojawić także w podsystemie, jak w NAV-A-12.
Podpowiedzi
Indeksowanie i wycinanie stringów
# Indeksowanie stringów (od 0!)
planet = "SATURN"
# Pojedyncze znaki
print("Pierwszy znak:", planet[0]) # S
print("Ostatni znak:", planet[-1]) # N
# Wycinanie (slicing)
print("Pierwsze 3:", planet[0:3]) # SAT
print("Od 3 do końca:", planet[3:]) # URN
# Co drugi znak
alphabet = "ABCDEFGH"
print("Co drugi:", alphabet[::2]) # ACEG
# Odwracanie stringa
print("Odwrócone:", planet[::-1]) # NRUTAS
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].