El código debe tomar texto de la entrada estándar:
The definition of insanity is quoting the same phrase again and again and not expect despair.
El resultado debe ser un archivo PNG que contenga la nube de palabras correspondiente a ese texto:
Lo anterior nube de palabras fue creado usando una aplicación en línea especializada y se filtra la palabra The
y otras palabras comunes ( of
, is
, and
, not
, y the
). Como se trata de código de golf, las palabras comunes no se filtrarán y dejo la estética secundaria de la nube de palabras a elección de cada codificador. A diferencia de la imagen que se muestra aquí, no se deben excluir palabras, comunes o no. La definición de una palabra se define a continuación.
En este caso, una palabra es cualquier cosa alfanumérica; los números no actúan como separadores. Entonces, por ejemplo, 0xAF
califica como una palabra. Los separadores serán cualquier cosa que no sea alfanumérica, incluidos .
(punto) y -
(guión). Por lo tanto, i.e.
o pick-me-up
daría como resultado 2 o 3 palabras, respectivamente. Debería distinguir entre mayúsculas This
y minúsculas, y this
serían dos palabras diferentes, '
también sería un separador wouldn
y t
serían 2 palabras diferentes wouldn't
.
Las etiquetas deben aparecer agrupadas pero no superpuestas y el tamaño de fuente debe ser directamente proporcional al número de apariciones de esa palabra en el texto. La palabra debería aparecer solo una vez. No se requiere color de fuente específico en este caso. La asociación semántica no es un requisito.
Sugerencia : este otro código de golf podría ayudar: contar las palabras en un texto y mostrarlas
fuente
of
,is
,and
,not
, ythe
.Respuestas:
Python 3,
363308293274 caracteresLlamarlo así:
python cloud.py file.txt
. El script usa elfdp
generador de gráficos de fuerza dirigida de Graphviz para generar la imagen (escupirá un archivo GraphViz a file.txt.dot y un archivo de imagen PNG a file.txt.png). Esto significa que necesitará tener Graphviz instalado.La imagen de arriba es la nube que hace de Hamlet de Shakespeare, se nota, ya que contiene "Ser o no ser". También hay algunas tonterías deliciosas que se encuentran:
fuente
/5
en la penúltima línea dependiendo de qué tan grande sea su texto. 5 funciona bien para textos del tamaño de Hamlet, 500 para entradas de longitud bíblica, etc.JAVASCRIPT 473
Demo sin golf
fuente