Der Legende nach ist fast jeder von Dennis überfordert . Wenn nicht, werden sie es sein.
Jetzt bin ich neugierig, ob ich einer von diesen "fast allen" bin.
Sie erhalten einen Link zu einer Antwort im Format von /codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]
.
Bestimmen Sie die Länge des Codes, den wir als letzte Zahl in der ersten Zeile (absteigend) der Antwort im Link annehmen .
Suchen Sie dann nach Dennis 'Antworten und tun Sie dasselbe.
Vergleichen Sie nun die Antwortcodelänge der Eingaben und Dennis 'und geben Sie einen Wahrheitswert aus, und, falls diese nicht richtig ist (was bedeutet, dass mindestens eine Antwort von Dennis' Antwort kürzer ist als die der Eingabeantwort), falls nicht, einen falschen Wert.
Wenn es zu derselben Frage wie die Antwort keine Antwort von Dennis gibt, geben Sie einen falschen Wert aus.
Beispiele
Regeln
- Sie können jede Form von wahrem / falschem Wert verwenden.
- Die Frage nach der Antwort lautet immer Code-Golf .
Die Frage hat möglicherweise keine Antwort von Dennis, aber die eingegebene Antwort wird niemals Dennis gehören.
Sie können davon ausgehen, dass in der ersten Zeile der Antwort immer eine Zahl steht.
quelle
Antworten:
Python 3.6 + fordert + bs4 -
363358 Bytes anDruckt
True
oderFalse
.Hinweis: Funktioniert derzeit nicht mit dem zweiten Link, da durch diese Antwort ungültiger HTML-Code generiert wurde (die Tags
em
undstrong
werden am Ende der zweiten Zeile in der falschen Reihenfolge beendet und der Parser übersieht den Benutzernamenblock). Versuchen Sie es stattdessen über diesen Link .Verwendung der API -
401380 BytesBeachten Sie, dass dies auch beim zweiten Link fehlschlägt, da jedoch eine Antwort mit
This may be foul play.
anstelle des Headers begann ...quelle
filter=withbody
jedoch , dass Ihre GET-Anforderung den Antworttext enthält, um die Byteanzahl zu ermittelna
zweimal (einmal die Antwort - ID einzustellen, und eine andere , wenn das Iterierenr["items"]
, was zu fehlerhaften Verhalten führen würde. Außerdem brauchen Sie nicht zu setzen diepagesize
(auf 30 ausfällt.)c=int(re.search(r'(\d+) bytes').group(1))
Sollten Sie geben ein Ein genauerer Abruf von bytecount ist kürzer, und wenn der Vorgang immer noch fehlschlägt,(\d+)\s*bytes
reicht der Trick aus, ist jedoch etwas länger. Schließlichi=r["has_more"]and i+1
ist er kürzer als Ihre ternäre Bedingung.Ruby,
314315308 + 20 =334335328 BytesVerwendet die Fahnen
-n -rjson -ropen-uri
. +1 Byte von der Behebung eines kleinen Fehlers.-7 Bytes durch Ermitteln der
open-uri
Ruby-Standardbibliothek.quelle