Posortowana kopia
Raport misji wymienia załogę alfabetycznie, ale kolejność zgłoszeń też ma znaczenie: decyduje o tym, kto dostaje pierwsze terminy szkoleń. Ta sama lista musi być pokazana na oba sposoby.
Zrób posortowaną kopię do raportu i zostaw oryginał w spokoju, a potem spraw, żeby sortowanie radziło sobie z nazwiskami zaczynającymi się od małej litery.
Ukończ etap 1, aby odblokować ten etap.
Wypisz nazwiska od A do Z do raportu, a potem kolejność zgłoszeń, która musi zostać taka, jaka była:
Raport: Kowalska, Lindqvist, Moreau, Okafor, Tanaka Kolejność zgłoszeń: Tanaka, Okafor, Kowalska, Lindqvist, Moreau
sorted(signups) daje nową, posortowaną listę i nie rusza signups. ", ".join(...) zamienia każdą listę w jedną linię.
Ukończ etap 1, aby odblokować ten etap.
Dwoje nowych członków załogi ma nazwiska zaczynające się od małej litery: de Vries i van Dijk. Kod startowy umieszcza je po Tanace, bo Python sortuje wszystkie wielkie litery przed wszystkimi małymi. Posortuj bez zwracania uwagi na wielkość liter:
Raport: de Vries, Kowalska, Okafor, Tanaka, van Dijk Kolejność zgłoszeń: Tanaka, de Vries, Okafor, Kowalska, van Dijk
Daj sorted() klucz: sorted(signups, key=str.lower) porównuje wersję każdego nazwiska małymi literami, ale zostawia nazwiska bez zmian.
Podpowiedzi
Sortowanie i odwracanie list
# Sortowanie i odwracanie list
distances = [778, 225, 149, 1430, 108]
# Sortowanie rosnąco
distances.sort()
print("Rosnąco:", distances)
# Sortowanie malejąco
distances.sort(reverse=True)
print("Malejąco:", distances)
# Odwracanie kolejności
planets = ["Mars", "Jowisz", "Saturn"]
planets.reverse()
print("Odwrócone:", planets)
# sorted() - nie zmienia oryginalnej listy
numbers = [3, 1, 4, 1, 5]
sorted_nums = sorted(numbers)
print("Oryginał:", numbers)
print("Posortowane:", sorted_nums)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].