Der Code sollte Text aus der Standardeingabe übernehmen:
The definition of insanity is quoting the same phrase again and again and not expect despair.
Die Ausgabe sollte eine PNG-Datei sein, die die Wortwolke enthält, die diesem Text entspricht:
Die obige Wortwolke wurde geschaffen , eine spezialisierte Online - Anwendung und gefiltert , um das Wort The
und andere gemeinsame Worte ( of
, is
, and
, not
, und the
). Da dies Codegolf ist, werden die gebräuchlichen Wörter nicht gefiltert und ich überlasse die sekundäre Ästhetik der Wortwolke der Wahl jedes Codierers. Im Gegensatz zu dem hier gezeigten Bild sollten keine Wörter ausgeschlossen werden, weder allgemein noch anderweitig. Die Definition eines Wortes ist unten definiert.
In diesem Fall ist ein Wort eine alphanumerische Zahl. Zahlen dienen nicht als Trennzeichen. So 0xAF
qualifiziert sich zum Beispiel als ein Wort. Trennzeichen sind alle nicht alphanumerischen Zeichen, einschließlich .
(Punkt) und -
(Bindestrich). So i.e.
oder pick-me-up
würde zu 2 oder 3 Wörtern führen. Sollte zwischen Groß- und Kleinschreibung unterscheiden - This
und this
zwei verschiedene Wörter sein, '
wäre das auch ein Trennzeichen wouldn
und würde t
2 verschiedene Wörter enthalten wouldn't
.
Die Tags sollten gruppiert, aber nicht überlappend angezeigt werden und die Schriftgröße sollte direkt proportional zur Anzahl der Vorkommen dieses Wortes im Text sein. Das Wort sollte nur einmal vorkommen. Eine bestimmte Schriftfarbe ist in diesem Fall nicht erforderlich. Eine semantische Zuordnung ist nicht erforderlich.
Tipp - Dieser andere Code Golf könnte helfen: Zählen Sie die Wörter in einem Text und zeigen Sie sie an
quelle
of
,is
,and
,not
, undthe
.Antworten:
Python 3,
363308293274 ZeichenNennen Sie es wie folgt aus :
python cloud.py file.txt
. Das Skriptfdp
generiert das Bild mit dem erzwungenen Graph-Generator von Graphviz (dabei werden eine GraphViz-Datei in file.txt.dot und eine PNG-Bilddatei in file.txt.png ausgegeben). Dies bedeutet, dass Graphviz installiert sein muss.Das obige Bild ist die Wolke aus Shakespeares Hamlet - man kann es erkennen, da es "Sein oder Nichtsein" enthält. Es gibt auch einige entzückende Unsinn zu finden:
quelle
/5
Je nachdem, wie groß Ihr Text ist, müssen Sie möglicherweise die Konstante in der vorletzten Zeile anpassen. 5 eignet sich gut für Texte in Hamlet-Größe, 500 für bibellange Eingaben und so weiter.JAVASCRIPT 473
Ungolfed Demo
quelle