Rozdzielacz plików
Wszystko, co misja wysyła na stację naziemną, trafia do jednej skrzynki: zdjęcia z kamer, pliki telemetrii i od czasu do czasu coś, co w ogóle tam nie pasuje. Skrypt rozdzielający kieruje każdy plik do jego folderu.
Kieruj pliki według rozszerzenia, a potem spraw, żeby rozdzielacz radził sobie z nazwami, które naprawdę tworzą ludzie i kamery.
Ukończ etap 1, aby odblokować ten etap.
Wybierz folder według rozszerzenia pliku i wypisz, dokąd trafia:
.png albo .jpg images .csv telemetry cokolwiek innego rejected
Dla zdjęcia z kamery w kodzie startowym:
cam-1_2026-03-14.png -> images/
Użyj endswith() dla każdego rozszerzenia, or, żeby przyjąć dwa, i zapisz nazwę folderu przed wypisaniem.
Ukończ etap 1, aby odblokować ten etap.
Prawdziwe pliki są bardziej nieporządne: nowa kamera zapisuje .JPEG wielkimi literami, nazwy przychodzą z przypadkowymi spacjami, a zespół telemetrii wysyła też pliki .tsv. Kod startowy odrzuca to zdjęcie z kamery. Spraw, żeby rozdzielacz przyjmował też .jpeg i .tsv, dowolną wielkością liter, i pokazywał nazwę bez spacji, ale z jej własnymi wielkimi literami:
CAM-2_2026-03-14.JPEG -> images/
Trzymaj dwie wersje nazwy: jedną bez spacji do pokazywania, drugą bez spacji i małymi literami do sprawdzania.
Podpowiedzi
Instrukcja if-elif-else
# If-elif-else: wiele warunków
speed = 25000 # km/h
if speed < 1000:
print("Faza: Start")
elif speed < 10000:
print("Faza: Wznoszenie")
elif speed < 28000:
print("Faza: Orbitowanie")
else:
print("Faza: Prędkość ucieczki!")
# Ocena misji
points = 85
if points >= 90:
rating = "Doskonała"
elif points >= 75:
rating = "Dobra"
elif points >= 60:
rating = "Zadowalająca"
else:
rating = "Do poprawy"
print(f"Ocena misji: {rating}")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].