Analiza słów
Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 77 z 78.
Wyzwanie
TrudnyUtwórz funkcję o nazwie analyze_text, która analizuje słowa w ciągu tekstowym.
Twoja funkcja powinna:
- Policzyć unikalne słowa (bez rozróżniania wielkości liter)
- Znaleźć wszystkie słowa, które występują więcej niż raz
- Wskazać wszystkie słowa-palindromy (słowa, które czytane od przodu i od tyłu brzmią tak samo, jak "level")
Zwróć słownik z trzema kluczami:
unique_count: liczba unikalnych słów (powtarzające się słowa również policz tylko raz)repeated_words: posortowana lista słów występujących więcej niż razpalindromes: posortowana lista słów-palindromów
Uwagi:
- Traktuj słowa bez rozróżniania wielkości liter (np. "Hello" i "hello" to to samo słowo)
- Usuń ze słów wszelkie znaki interpunkcyjne
(.,!?:;"()) - Posortuj alfabetycznie listy
repeated_wordsipalindromes
Przykładowe dane wejściowe:
"Madam saw a racecar. Dad said hello hello to mom."
Oczekiwany wynik:
{
'unique_count': 9,
'repeated_words': ['hello'],
'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}Spróbuj swoich sił
def analyze_text(text):
# Twoje rozwiązanie tutaj
# 1. Podziel tekst na słowa i je znormalizuj
# (zamień na małe litery i usuń znaki interpunkcyjne)
# 2. Policz wystąpienia każdego słowa
# 3. Znajdź liczbę unikalnych słów
# 4. Zidentyfikuj powtarzające się słowa (występujące więcej niż raz)
# 5. Znajdź słowa będące palindromami
# 6. Zwróć wyniki w słowniku z posortowanymi listami
passWszystkie lekcje w sekcji Logika i przepływ programu
1Odkrywanie zmiennych
StałeWielokrotne przypisania zmiennychZamiana zmiennychZmienne zastępczeZaokrąglanie liczbKonwersja na listę4Aplikacja książki kontaktów
Wyświetl menuDodaj kontakt7Zbiory — część 2
Działania matematyczne — część 1Działania matematyczne — część 2Powtórka — poszukiwanie skarbówPodzbiory i nadzbioryIterowanie po zbiorachPowtórka — śledzenie turnieju10Podstawowe składanie list
SkładniaTworzenie prostych listDodawanie warunkówUżywanie agregacji danychPowtórka – dom listPowtórka – elementy wolności13System zarządzania zapasami
Przegląd projektuDodawanie produktu2Słowniki — część 1
Czym jest słownik?Tworzenie słownikaDostęp do wartościModyfikowanie słownikówPowtórzenie — menedżer przepisów5Zaawansowane podejmowanie decyzji
Operator warunkowySprawdzanie przynależnościSprawdzanie tożsamościBłędy wcięćPowtórka — filtr wakacyjny8Menedżer rekordów uczniów
Przegląd projektuDodawanie ucznia11Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Wyzwanie podsumowujące — sortowanie z lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Podsumowanie — suma elementów zagnieżdżonej listy14Funkcje wyższego rzędu
Funkcja mapFunkcja filterPodsumowanie – walidator adresów e-mailPodsumowanie – procesor liczb3Słowniki, część 2
Metody słownikówZagnieżdżone słownikiSprawdzanie kluczyIterowanie po słownikachPowtórzenie — licznik częstotliwości9Zaawansowana agregacja danych
Używanie sumyZnajdowanie minimum i maksimumEfektywne sortowanie danychPowtórka – sortowanie słowników12Podstawowa obsługa błędów
Czym jest obsługa błędów?Blok try i exceptObsługa wielu wyjątkówPodsumowanie – błędy w koszyku zakupowymPoćwicz samodzielnie: Kompilator Python online