Space Python Ładowanie Pythona…

Ukryj kod dostępu

Napisz kodŚredni 2 etapy

Każde logowanie w stacji naziemnej trafia do dziennika bezpieczeństwa, a pierwsza wersja programu zapisywała w nim pełny kod dostępu. Każdy, kto mógł przeczytać dziennik, mógł się zalogować.

Zamaskuj kod tak, żeby widać było tylko cztery ostatnie znaki, jak numer karty na paragonie, a potem zrób to w prawdziwej linii dziennika.

Zastąp każdy znak kodu dostępu oprócz ostatnich czterech gwiazdką *, a potem wypisz go:

Kod dostępu: **********77AB

Potrzebujesz tylu gwiazdek, ile jest znaków przed ostatnimi czterema: len(access_code) - 4. "*" * 3 to "***", a access_code[-4:] to ostatnie cztery znaki.

Zamaskuj kod
Działa dla każdego kodu

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

W prawdziwym dzienniku kod stoi wewnątrz linii, po code= i do następnej spacji. Znajdź go, zamaskuj tak samo i wypisz linię z zamaskowanym kodem na jego miejscu:

AUTH ok station=Esrange code=**********77AB operator=2

line.find(" ", start) szuka spacji, zaczynając od indeksu start, więc znajduje spację po kodzie, a nie pierwszą w linii. Potem line.replace(code, masked) buduje nową linię.

Zamaskuj kod w linii
Działa dla każdej linii
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

Indeksowanie i wycinanie stringów

Każdy znak w stringu ma indeks, licząc od 0. Indeks -1 to ostatni znak. Wycinanie [start:stop] pobiera fragment tekstu.
indeksowanie-wycinanie-stringow.py
# 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
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:].