Histogram słów w tekście (ignoruj wielkość liter)

Zadanie 7 z 15 · rozdział 17Trudność: 1 z 3dictstringtekst

Treść zadania

Wczytaj tekst. Policz, ile razy występuje w nim każde słowo, nie rozróżniając wielkości liter. Wypisz słownik: słowo (małymi literami) → liczba wystąpień.

Dane wejściowe

  • 1. linia: tekst

Dane wyjściowe

Słownik w postaci {'słowo': liczba, …} — słowa zapisane małymi literami, w kolejności pierwszego wystąpienia w tekście. Jeśli w tekście nie ma żadnego słowa — {}.

Ograniczenia

  • tekst ma od 1 do 300 znaków

Uwagi

  • Słowo to najdłuższy ciąg kolejnych liter (także polskich, np. ż, ó). Wszystkie inne znaki — spacje, cyfry, znaki interpunkcyjne — rozdzielają słowa.
  • Kot, KOT i kot to to samo słowo kot.

Przykład

Wejście
Ala ma kota. Ala lubi koty.
Wyjście
{'ala': 2, 'ma': 1, 'kota': 1, 'lubi': 1, 'koty': 1}

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 17

Zadania w tym rozdziale ćwiczą pracę ze słownikami (dict): tworzenie, dodawanie i usuwanie par, zliczanie wystąpień oraz grupowanie danych według klucza.
Każde zadanie (oraz każdy podpunkt) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).

Konwencje wspólne:

  • Dane wczytuj dokładnie w kolejności podanej w sekcji Wejście; jeśli w jednej linii jest kilka wartości — rozbij ją po spacjach.
  • Jeśli wynikiem jest słownik, wypisz go tak, jak robi to print(slownik) w Pythonie: {klucz: wartość, klucz: wartość} — pary oddzielone przecinkiem i spacją, po dwukropku spacja, klucze i wartości napisowe w apostrofach (np. {'ala': 2, 'ma': 1}), liczby bez apostrofów (np. {1: 1, 2: 4}), pusty słownik to {}.
  • Kolejność par w wypisanym słowniku to kolejność, w jakiej klucze były do niego dodawane (tak zachowuje się słownik w Pythonie).
  • 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.

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 uruchomiono
Wejście
Ala ma kota. Ala ma psa!
Oczekiwane wyjście
{'ala': 2, 'ma': 2, 'kota': 1, 'psa': 1}

Test 2

Nie uruchomiono
Wejście
One two two.
Oczekiwane wyjście
{'one': 1, 'two': 2}

Test 3

Nie uruchomiono
Wejście
Kot, KOT, kot!
Oczekiwane wyjście
{'kot': 3}

Test 4

Nie uruchomiono
Wejście
123 ... !!!
Oczekiwane wyjście
{}

Test 5

Nie uruchomiono
Wejście
Żółw ŻÓŁW żółw-2 gęś
Oczekiwane wyjście
{'żółw': 3, 'gęś': 1}

Test 6

Nie uruchomiono
Wejście
e-mail to mail
Oczekiwane wyjście
{'e': 1, 'mail': 2, 'to': 1}
Uruchom z własnymi danymi