Analisi delle parole
Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 77 di 78.
Sfida
DifficileCrea una funzione denominata analyze_text che analizza le parole in una stringa di testo.
La tua funzione dovrebbe:
- Contare le parole uniche (senza distinzione tra maiuscole e minuscole)
- Trovare tutte le parole che compaiono più di una volta
- 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 voltapalindromes: 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_wordsepalindromes
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
passTutte le lezioni di Logica e flusso
1Esplorazione delle variabili
CostantiAssegnazioni multiple di variabiliScambio di variabiliVariabili segnapostoArrotondare i numeriConversione di liste4Applicazione Rubrica
Visualizzare il menuAggiungere un contatto7Insiemi Parte 2
Operazioni matematiche Parte 1Operazioni matematiche Parte 2Riepilogo - Caccia al tesoroSottoinsiemi e sovrainsiemiIterare sugli insiemiRiepilogo - Tracciamento del torneo10Comprensioni di liste di base
La sintassiCreare liste sempliciAggiungere condizioniUsare l'aggregazione dei datiRipasso - La casa delle listeRipasso - Elementi di libertà13Sistema di gestione dell'inventario
Panoramica del progettoAggiungi articolo2Dizionari Parte 1
Che cos'è un dizionario?Creare un dizionarioAccedere ai valoriModificare i dizionariRipasso - Gestore di ricette5Decisioni avanzate
Operatore ternarioVerifiche di appartenenzaVerifiche di identitàErrori di indentazioneRiepilogo - Filtro vacanze8Gestore delle carriere degli studenti
Panoramica del progettoAggiungi studente11Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Sfida di ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di una lista annidata14Funzioni di ordine superiore
La funzione mapLa funzione filterRipasso - Validatore di emailRipasso - Elaboratore di numeri3Dizionari Parte 2
Metodi dei dizionariDizionari annidatiVerificare la presenza di chiaviIterare sui dizionariRipasso - Contatore di frequenza6Insiemi Parte 1
Che cos'è un insieme?Operazioni di baseMetodi degli insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Usare la sommaTrovare il minimo e il massimoOrdinare i dati in modo efficienteRipasso - Ordinatore di dizionari12Gestione di base degli errori
Che cos'è la gestione degli errori?Il blocco try ed exceptGestire più eccezioniRiepilogo - Errori nel carrelloEsercitati da solo: Compilatore Python online