... Se lasciassi le mie dita vagare pigramente sopra i tasti di una macchina da scrivere
potrebbe accadere che il mio papiro avesse una frase intellegibile.
Se un esercito di scimmie strimpellasse su macchine da scrivere potrebbero magari scrivere
tutti i libri del British Museum. La probabilità che ci riuscissero è decisamente più
favorevole di quella che le molecole ritornino in una metà del contenitore.
A. S. Eddington. The Nature of the Physical World: The Gifford Lectures, 1927.
"Ford!" disse, "c'è un numero infinito di scimmie...
Supponiamo che le scimmie scrivano, scrivano e scrivano e producano una varietà di brevi
segmenti di testo. Proviamo a verificare se contengono parole di senso compiuto.
Ti vengono dati alcuni testi che potenzialmente contengono parole di senso compiuto.
Devi contare quante di queste parole compaiono in un dato testo.
Una parola deve essere intera e può essere parte di un'altra parola.
Non facciamo distinzione tra maiuscole e minuscole.
Le parole ti sono date in minuscolo e senza ripetizioni.
Se una parola compare più volte in un testo, contala un'unica volta.
Per esempio,
testo - "How aresjfhdskfhskd you?", parole - ("how", "are", "you", "hello").
Il risultato sarà 3.
Input: Due argomenti.
Un testo come stringa (unicode per py2) e delle parole come un insieme di stringhe (unicode per py2).
Output: Il numero di parole nel testo espresso come intero.
Esempio:
count_words("How aresjfhdskfhskd you?", {"how", "are", "you", "hello"}) == 3
count_words("Bananas, give me bananas!!!", {"banana", "bananas"}) == 2
count_words("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",
{"sum", "hamlet", "infinity", "anything"}) == 1
Come si usa:
Python è un linguaggio di manipolazione testi utile e potente.
Questa missione è solo un piccolo assaggio del genere di strumenti di ricerca testuale che potresti costruire.
Prerequisiti:
0 < len(text) ≤ 256
all(3 ≤ len(w) and w.islower() and w.isalpha for w in words)