Según la leyenda , casi todos son superados por Dennis . Si no, lo serán.
Ahora tengo curiosidad si soy uno de esos 'casi todos'.
Se le dará un enlace a una respuesta en el formato de /codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]
.
Encuentre la longitud del código, que asumiremos como el último número en la primera línea (en sentido de reducción) de la respuesta en el enlace.
Luego, busque las respuestas de Dennis y haga lo mismo.
Ahora compare la longitud del código de respuestas de entrada y Dennis, y si está fuera de juego (lo que significa que una o más respuestas de Dennis son más cortas que las de la respuesta de entrada), arroje un valor verdadero y, si no, un valor falso.
Si no hay una respuesta que pertenezca a Dennis en la misma pregunta que la respuesta, arroje un valor falso.
Ejemplos
Reglas
- Puede usar cualquier forma de valor verdadero / falso.
- La pregunta de la respuesta que se le dará siempre será código golf .
La pregunta puede no tener una respuesta de Dennis, pero la respuesta ingresada nunca pertenecerá a Dennis.
Puede suponer que siempre hay un número en la primera línea de la respuesta.
fuente
Respuestas:
Python 3.6 + solicitudes + bs4 -
363358 bytesImpresiones
True
oFalse
.Nota: actualmente no funciona en el segundo enlace debido a HTML no válido producido por esta respuesta (las etiquetas
em
ystrong
se terminan en el orden incorrecto al final de la segunda línea, y hace que el analizador pierda el bloque de nombre de usuario). Pruébelo en este enlace en su lugar.Uso de la API:
401380 bytesTenga en cuenta que esto también falla en el segundo enlace, pero debido a que una respuesta comenzó en
This may be foul play.
lugar del encabezado ...fuente
filter=withbody
esté en su solicitud GET para obtener el cuerpo de respuesta para obtener el recuento de bytesa
dos veces (una para configurar el ID de respuesta y otra al iterarr["items"]
, lo que conduciría a un comportamiento incorrecto. Además, no necesita configurar elpagesize
(por defecto será 30).c=int(re.search(r'(\d+) bytes').group(1))
Debería darle un recuperación más precisa de bytecount y es más corta, y si aún falla,(\d+)\s*bytes
hace el truco pero es un poco más larga. Finalmente,i=r["has_more"]and i+1
es más corta que su condicional ternario.Rubí,
314315308 + 20 =334335328 bytesUtiliza las banderas
-n -rjson -ropen-uri
. +1 byte al arreglar un error menor.-7 bytes descubriendo la
open-uri
biblioteca predeterminada de Ruby.fuente