Sortowanie słów w zdaniu
Treść zadania
Wczytaj zdanie i podziel je na słowa. Słowa oddzielają od siebie spacje oraz znaki interpunkcyjne: . , ! ? ; : — te znaki nie należą do słów. Posortuj słowa rosnąco (według kodów Unicode, bez zmiany wielkości liter) i wypisz je.
Dane wejściowe
- 1. linia: zdanie (zawiera co najmniej jedno słowo)
Dane wyjściowe
- 1. linia: posortowane słowa oddzielone pojedynczymi spacjami
Jeśli słowo występuje w zdaniu kilka razy, wypisz je tyle samo razy.
Ograniczenia
- Zdanie ma co najwyżej 200 znaków.
Uwagi
- Najprościej zamienić każdy znak interpunkcyjny na spację (
napis.replace(".", " ")itd.), a potem użyćsplit().
Przykłady
Lemur wygina śmiało ciało
Lemur ciało wygina śmiało
Ala ma kota, a kot ma Alę.
Ala Alę a kot kota ma ma
Wielkie litery są przed małymi, a Ala jest przed Alę, bo 'a' < 'ę'.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 22
Zadania w tym rozdziale pokazują, jak sortować w praktyce: napisy, słowa, pary, obiekty — często według własnego kryterium. Tutaj wolno (a nawet warto) korzystać z wbudowanych narzędzi Pythona: sorted(), list.sort() i parametru key=.
Konwencje wspólne:
- Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
- Jeśli wejściem jest napis — wczytaj całą linię (łącznie ze spacjami).
- Jeśli wejściem jest lista — najpierw podana jest liczba elementów $N$, a potem elementy (w jednej linii albo w kolejnych liniach — zależnie od zadania).
- Napisy porównujemy tak jak Python, czyli według kodów znaków Unicode: wielkie litery są „mniejsze” od małych (
'Z' < 'a'), a polskie litery są „większe” od wszystkich liter alfabetu łacińskiego ('z' < 'ą'). - Sortowanie w Pythonie (
sorted(),list.sort()) jest stabilne: elementy równe według kryterium sortowania zachowują kolejność z wejścia. Korzystają z tego zadania, w których mogą wystąpić remisy. - Program nie wypisuje komunikatów typu „Podaj liczbę:”.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomionoBob, Ala pies.
Ala Bob pies
Test 2
Nie uruchomionozoo! ala? kot.
ala kot zoo
Test 3
Nie uruchomionokot,pies;mysz
kot mysz pies
Test 4
Nie uruchomionosłowo
słowo
Test 5
Nie uruchomionoZebra zebra ZEBRA
ZEBRA Zebra zebra
Test 6
Nie uruchomionoCzy to: koniec? Nie! To dopiero początek.
Czy Nie To dopiero koniec początek to