Porządki w zgłoszeniach
Formularz zgłoszeń do następnej misji analogowej, dwóch tygodni w zamkniętym habitacie, został zamknięty, a lista to bałagan: imiona wielkimi literami albo z podwójnymi spacjami, e-maile z przypadkowymi spacjami, osoby, które zgłosiły się dwa razy, wpis zupełnie bez imienia.
Uporządkuj ją w listę załogi, z której skorzysta komisja rekrutacyjna, i powiedz dokładnie, co odrzucono i dlaczego.
Ukończ etap 1, aby odblokować ten etap.
Napisz clean_name(name), która przycina imię i nazwisko, łączy słowa pojedynczymi spacjami i zaczyna każde słowo wielką literą, oraz clean_email(email), która przycina e-mail i zamienia go na małe litery. Wypisz każde zgłoszenie po oczyszczeniu:
Anna Kowalska <anna.kowalska@example.org> Kenji Tanaka <k.tanaka@example.org> Chioma Okafor <chioma.okafor@example.org> Anna Kowalska <anna.kowalska@example.org> Olena Bondarenko-Shevchenko <olena.b@example.org> Priya Sharma <priya.sharma@example> <crew@example.org> Min-Jun Kim <minjun.kim@example.org> Kenji Tanaka <k.tanaka@example.org> Tomasz Nowak <tomasz nowak@example.org>
name.split() dzieli po każdym ciągu spacji i pomija końce, więc " ".join(...) składa tekst porządnie z powrotem; title() zaczyna każde słowo wielką literą.
Ukończ etap 1, aby odblokować ten etap.
Zbuduj listę załogi. Odrzuć zgłoszenie bez imienia albo z e-mailem, który nie przechodzi valid_email(): dokładnie jedno @, coś przed nim, kropka po nim i bez spacji. Pomiń zgłoszenie, którego e-mail jest już na liście, podając, czyj to adres. Wypisuj każde odrzucenie od razu, a potem załogę:
Odrzucono Anna Kowalska: duplikat Anna Kowalska Odrzucono Priya Sharma: nieprawidłowy e-mail priya.sharma@example Odrzucono <crew@example.org>: brak imienia i nazwiska Odrzucono Kenji Tanaka: duplikat Kenji Tanaka Odrzucono Tomasz Nowak: nieprawidłowy e-mail tomasz nowak@example.org Lista załogi: 5 osób Anna Kowalska <anna.kowalska@example.org> Kenji Tanaka <k.tanaka@example.org> Chioma Okafor <chioma.okafor@example.org> Olena Bondarenko-Shevchenko <olena.b@example.org> Min-Jun Kim <minjun.kim@example.org>
Trzymaj e-maile widziane do tej pory w słowniku email -> name, żeby duplikat mógł powiedzieć, czyj to adres.
Podpowiedzi
Metody stringów - upper, lower, strip
# Metody stringów
message = " Stacja Kosmiczna ISS "
# Usuwanie spacji z początku i końca
print("Strip:", message.strip())
# Zmiana wielkości liter
command = "przygotować do startu"
print("Wielkie:", command.upper())
print("Małe:", command.lower())
print("Tytuł:", command.title())
# Sprawdzanie zawartości
code = "NASA-2024"
print("Zaczyna się od NASA:", code.startswith("NASA"))
print("Zawiera cyfrę:", any(c.isdigit() for c in code))
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].