O código deve receber texto da entrada padrão:
The definition of insanity is quoting the same phrase again and again and not expect despair.
A saída deve ser um arquivo PNG que contenha a nuvem de palavras correspondente ao texto:
O acima da nuvem da palavra foi criado usando um aplicativo on-line especializada e filtrada a palavra The
e outras palavras comuns ( of
, is
, and
, not
, e the
). Como se trata de código de golfe, as palavras comuns não serão filtradas e deixo a estética secundária da nuvem de palavras à escolha de cada codificador. Ao contrário da imagem aqui examinada, nenhuma palavra deve ser excluída, comum ou não. A definição de uma palavra é definida abaixo.
Nesse caso, uma palavra é qualquer coisa alfanumérica; números não estão atuando como separadores. Então, por exemplo, 0xAF
qualifica-se como uma palavra. Separadores serão qualquer coisa que não seja alfanumérica, incluindo .
(ponto) e -
(hífen). Assim i.e.
ou pick-me-up
resultaria em 2 ou 3 palavras, respectivamente. Deve diferenciar maiúsculas de minúsculas - This
e this
seriam duas palavras diferentes, '
também seria um separador wouldn
e t
serão 2 palavras diferentes de wouldn't
.
As marcas devem aparecer agrupadas, mas não sobrepostas, e o tamanho da fonte deve ser diretamente proporcional ao número de ocorrências dessa palavra no texto. A palavra deve aparecer apenas uma vez. Cor de fonte específica não é necessária neste caso. A associação semântica não é um requisito.
Dica - Este outro código de golfe pode ajudar: Conte as palavras em um texto e exiba-as
fonte
of
,is
,and
,not
, ethe
.Respostas:
Python 3,
363308293274 caracteresChamá-lo assim:
python cloud.py file.txt
. O script usa ofdp
gerador de gráfico direcionado à força do Graphviz para gerar a imagem (ele cuspirá um arquivo GraphViz em file.txt.dot e um arquivo de imagem PNG em file.txt.png). Isso significa que você precisará ter o Graphviz instalado.A imagem acima é a nuvem que faz do Hamlet de Shakespeare - você pode dizer, pois contém "Ser ou não ser". Há também algumas bobagens deliciosas a serem encontradas:
fonte
/5
na penúltima linha, dependendo do tamanho do seu texto. 5 funciona bem para textos do tamanho de Hamlet, 500 para textos bíblicos e assim por diante.JAVASCRIPT 473
Demonstração ungolfed
fonte