Menu
Coddy logo textTech

Analisi delle parole

Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 54 di 56.

Una sfida indipendente che mette alla prova stringhe, hash, Hash.new(0) e metodi Enumerable tutti insieme.

challenge icon

Sfida

Medio

Leggi una singola riga di input, una frase. Analizzala e stampa tre righe:

  1. Il numero di parole uniche (senza distinzione tra maiuscole e minuscole e senza punteggiatura). Le parole ripetute si contano una sola volta ciascuna.
  2. Le parole ripetute (quelle che compaiono più di una volta), ordinate alfabeticamente e separate da , . Se non ce ne sono, stampa (none).
  3. Le parole palindrome, cioè quelle che si leggono allo stesso modo in avanti e all’indietro, di lunghezza ≥ 2, ordinate alfabeticamente e separate da , . Se non ce ne sono, stampa (none).

Rimuovi i caratteri .,!?:;"() da ogni parola prima di elaborarla. Converti tutto in minuscolo per effettuare il confronto.

Per l’input Madam saw a racecar. Dad said hello hello to mom., l’output è:

9
hello
dad, madam, mom, racecar

Provalo tu

input = gets.chomp

# TODO: usa split, rimuovi la punteggiatura, converti in minuscolo, poi stampa:
#   numero di parole uniche, parole ripetute, palindromi (lunghezza >= 2)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online