Desafío
Dado el nombre de un usuario (no ID, ya tenemos ese desafío), generar su reputación actual y su ID.
Entrada
La entrada será una sola cadena que es el nombre de usuario del usuario. Puede suponer que este usuario existe.
Salida
La salida será dos enteros para STDOUT o STDERR, que serán la reputación del usuario y la ID del usuario. Deben estar en ese orden específico y pueden emitirse en cualquier formato razonable
Detalles específicos
- El rendimiento de la reputación no debe estar más de 10 minutos desactualizado.
- Su programa no puede arrojar ningún error durante la ejecución normal
- Se aplican lagunas estándar (incluidos los Sin acortadores de URL)
- Si hay más de un usuario con ese nombre de usuario, puede mostrar las estadísticas de cualquier usuario con ese nombre de usuario. Esta es también la razón por la que debe generar la ID.
- La reputación que se generará es la reputación del usuario en PPCG, no la puntuación total de la red.
El sitio API de Stack Exchange se puede encontrar aquí . Puede leer la documentación desde allí.
code-golf
stack-exchange-api
Hiperneutrino
fuente
fuente
Respuestas:
Bash + JQ , 93 bytes
Retrocedió la versión de 87 bytes, ya que no estaba manejando las respuestas de múltiples usuarios correctamente.
Golfed
Producirá la identificación y la reputación del primer usuario en las líneas separadas.
Cómo funciona ?
1)
curl + zcat
se utilizan para recuperar la respuesta de la API con formato JSON2)
jq ..|numbers
desplegará JSON recursivamente e imprimirá todos los valores numéricos, uno por línea(los números de línea se agregaron solo con
nl
fines ilustrativos)3) Luego usamos
sed
para buscar el primeroaccount_id
yreputation
, por sus números de fila absolutosPrueba
fuente
JavaScript (ES6),
145 139 136 125 123117 bytesGuardado 6 bytes gracias a Shaggy y 6 bytes gracias a Cyoce.
No estoy seguro si debería mostrar a todos los usuarios con el mismo nombre, o solo uno de ellos; este código genera todos ellos.
fuente
"//api.stackexchange.com/users?site=codegolf&inname="+a
._=>alert(_)
por soloalert
?Python 2,
178169149 BytesUsaría solicitudes para esto:
Básicamente, utiliza la API de la pila para obtener la información como JSON y luego obtiene el elemento "reputación". Además, la API presentaba muchos parámetros adicionales, también los eliminé.
Generosas contribuciones de: carusocomputing, ElPedro, Malivil, Keerthana Prabhakaran
fuente
["items"][0]
esto solo obtiene el primer resultado, en el caso de múltiples usuarios aún ignorará los extras si no me equivoco.import requests as r
yr.get(...
ahorra 4 bytes.?site=codegolf&inname="
, puede guardar 3 bytes (+ "")from requests import*;a=get()
reduce un byte!Maravilloso,
144156 bytesCierre anónimo.
EDITAR: olvidé usar la importación de
groovy.json.
JSON Slurper + 14 bytes.Salida de ejemplo
[[UserID, Reputation],...]
:fuente
Swift,
225201 bytesSin golf:
Salida de ejemplo:
fuente