Код должен брать текст из стандартного ввода:
The definition of insanity is quoting the same phrase again and again and not expect despair.
Выходными данными должен быть файл PNG, содержащий облако слов, соответствующее этому тексту:
Выше слово облако было создано с помощью специализированного интернет - приложения и фильтруется слово The
и другие общие слова ( of
, is
, and
, not
, и the
). Поскольку это кодовый гольф, общие слова не будут фильтроваться, и я оставляю вторичную эстетику облака слов на выбор каждого кодера. В отличие от приведенного здесь изображения, никакие слова не должны быть исключены, обычные или нет. Определение слова определено ниже.
В этом случае слово является чем-то буквенно-цифровым; числа не действуют как разделители. Так, например, 0xAF
квалифицируется как слово. Разделителями будут все, что не является буквенно-цифровым, включая .
(точка) и -
(дефис). Таким образом i.e.
или pick-me-up
приведет к 2 или 3 слова, соответственно. Должен быть чувствительным к регистру - This
и this
будет состоять из двух разных слов, '
также будет разделителем wouldn
и t
будет состоять из двух разных слов wouldn't
.
Теги должны быть сгруппированы, но не перекрываться, а размер шрифта должен быть прямо пропорционален количеству вхождений этого слова в текст. Слово должно появиться только один раз. Определенный цвет шрифта не требуется в этом случае. Семантическая ассоциация не является обязательной.
Подсказка - этот другой код гольф может помочь: считать слова в тексте и отображать их
источник
of
,is
,and
,not
, иthe
.Ответы:
Python 3,
363308293274 символаНазовем это так:
python cloud.py file.txt
. Сценарий используетfdp
генератор графов принудительной направленности Graphviz для генерации изображения (он выдает файл GraphViz в файл file.txt.dot и файл изображения PNG в файл file.txt.png). Это означает, что вам нужно установить Graphviz.Изображение выше - это облако, которое он создает из шекспировского «Гамлета» - вы можете сказать, поскольку оно содержит «быть или не быть». Также есть какая-то восхитительная ерунда:
источник
/5
в строке от второй до последней в зависимости от размера вашего текста. 5 хорошо работает для текстов размером с Гамлета, 500 для ввода длины Библии и так далее.JAVASCRIPT 473
Ungolfed демо
источник