Kod powinien pobrać tekst ze standardowego wejścia:
The definition of insanity is quoting the same phrase again and again and not expect despair.
Wyjściem powinien być plik PNG zawierający chmurę słów odpowiadającą temu tekstowi:
Powyższy word cloud został stworzony przy użyciu specjalistycznego wniosek online i filtrowane słowo The
i innych wspólnych słów ( of
, is
, and
, not
, i the
). Ponieważ jest to golf golfowy, pospolite słowa nie będą filtrowane i pozostawiam dodatkową estetykę chmury słów do wyboru każdego kodera. W przeciwieństwie do przykładowego obrazu tutaj nie należy wykluczać żadnych słów, pospolitych ani innych. Definicja słowa jest zdefiniowana poniżej.
W tym przypadku słowo jest dowolną alfanumeryczną; liczby nie działają jako separatory. Na przykład 0xAF
kwalifikuje się jako słowo. Separatory będą to wszystko, co nie jest alfanumeryczne, w tym .
(kropka) i -
(łącznik). Tak więc i.e.
lub pick-me-up
dałoby odpowiednio 2 lub 3 słowa. Powinny być rozróżniane małe This
i wielkie litery - i this
będą to dwa różne słowa, '
będą także separatorem wouldn
i t
będą 2 różnymi słowami wouldn't
.
Znaczniki powinny wyglądać na skupione, ale nie nakładające się, a rozmiar czcionki powinien być wprost proporcjonalny do liczby wystąpień tego słowa w tekście. Słowo powinno pojawić się tylko raz. W tym przypadku nie jest wymagany określony kolor czcionki. Sesja semantyczna nie jest wymagana.
Wskazówka - ten inny kod golfowy może pomóc: policz słowa w tekście i wyświetl je
źródło
of
,is
,and
,not
, ithe
.Odpowiedzi:
Python 3,
363308293274 znakówNazwijmy to tak:
python cloud.py file.txt
. Skrypt wykorzystujefdp
generowany przez Graphviz generator siły do wygenerowania obrazu (wypluje plik GraphViz do pliku.txt.dot i plik obrazu PNG do pliku.txt.png). Oznacza to, że musisz mieć zainstalowany Graphviz.Powyższy obraz przedstawia chmurę Hamleta Szekspira - można powiedzieć, ponieważ zawiera „Być albo nie być”. Można również znaleźć zachwycające bzdury:
źródło
/5
w wierszu od ostatniego do ostatniego, w zależności od tego, jak duży jest twój tekst. 5 działa dobrze dla tekstów wielkości Hamleta, 500 dla tekstów biblijnych i tak dalej.JAVASCRIPT 473
Niegolfowane demo
źródło