Menu
Coddy logo textTech

Analisi delle parole

Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 77 di 78.

challenge icon

Sfida

Difficile

Crea una funzione denominata analyze_text che analizza le parole in una stringa di testo.

La tua funzione dovrebbe:

  1. Contare le parole uniche (senza distinzione tra maiuscole e minuscole)
  2. Trovare tutte le parole che compaiono più di una volta
  3. Individuare tutte le parole palindrome (parole che si leggono allo stesso modo in avanti e all'indietro, come "level")

Restituisci un dizionario con tre chiavi:

  • unique_count: il numero di parole uniche (conta anche le parole ripetute una sola volta ciascuna)
  • repeated_words: un elenco ordinato delle parole che compaiono più di una volta
  • palindromes: un elenco ordinato delle parole palindrome

Note:

  • Considera le parole senza distinzione tra maiuscole e minuscole (ad es., "Hello" e "hello" sono la stessa parola)
  • Rimuovi dalle parole qualsiasi segno di punteggiatura (.,!?:;"())
  • Ordina alfabeticamente gli elenchi repeated_words e palindromes

Input di esempio:

"Madam saw a racecar. Dad said hello hello to mom."

Output previsto:

{
    'unique_count': 9,
    'repeated_words': ['hello'],
    'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}

Provalo tu

def analyze_text(text):
    # La tua soluzione qui
    
    # 1. Dividi il testo in parole e normalizzale
    # (trasformale in minuscolo e rimuovi la punteggiatura)
    
    # 2. Conta le occorrenze di ogni parola
    
    # 3. Trova il numero di parole uniche
    
    # 4. Individua le parole ripetute (che compaiono più di una volta)
    
    # 5. Trova le parole palindrome
    
    # 6. Restituisci i risultati in un dizionario con liste ordinate
    pass

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Python online