Desafío
Dado el nombre de un miembro PPCG, envíe su número de identificación PPCG. Si el usuario no existe, puede informar un error o devolver cualquier número no positivo. Si hay varios miembros con este nombre, puede optar por generar solo un ID o todos ellos.
Casos de prueba
"musicman523" -> 69054 "Dennis" -> 12012 "xnor" -> 20260 "Monja con fugas" -> 48934 "fəˈnɛtɪk" -> 64505 "Jörg Hülsermann" -> 59107 "Comunidad" -> -1 "Cualquier usuario que no existe" -> 0 "Alex" -> 69198 (este es un resultado posible) "N permeable" -> 0 "Jorge" -> 3716
code-golf
internet
stack-exchange-api
musicman523
fuente
fuente
Respuestas:
Explorador de datos de Exchange de pila ,
5654535146 bytes-1 byte gracias a Hyper Neutrino. -5 bytes gracias a Giacomo Garabello.
Pruébalo en línea!
No estoy seguro si esto es completamente válido pero ... La entrada debe estar entre comillas simples
'
.Además, todavía no entiendo por qué a los programadores de SQL les gusta gritar, pero aparentemente es una buena práctica, así que ... ¡
SELECT
TODOFROM
TODOWHERE
TODOLIKE
TODO!Explicación
DEJAME EXPLICAR.
fuente
JavaScript,
155149142135 bytesfuente
Jörg Hülsermann
?0
paraOliver
:(r=>r.items[0]).then(r
con({items:[r]})
. Asignación de desestructuración ftw!i=>fetch('//api.stackexchange.com/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
ya que devolverá un error de promesa si falla. También puede haceri=>fetch('/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
y decir que debe ejecutarse en el dominio de la APIPython 3 + solicitudes , 196 bytes
¡Gracias @Wondercricket por -6 bytes!
Utiliza Stack Exchange API. Se corrigieron los errores
Leaky N
yJorge
.Si hay varios usuarios con el mismo nombre, los imprime a todos, lo cual está permitido.
fuente
Leaky N
print a['user_id']
, lo que arrojará un KeyError?Python 2 + solicitudes , 187 bytes
Devuelve la ID de usuario si existe un solo usuario, el primer usuario que coincide con los requisitos si existen más, e informa un error de lo contrario.
fuente
/2.2
de la API-url.fəˈnɛtɪk
, use\u{...}
en su lugar, porque Python no tolera no ASCIIPython 2 + solicitudes , 173 bytes
Ejecución de la muestra
Dato curioso: el resultado se ordena por reputación, el más alto primero.
fuente
Leaky N
%s
.>>> f('Leaky N')\n48934
0
.Leaky N
no existeJavaScript,
128119 bytes-9 bytes gracias a Rogem .
fuente
JavaScript (ES6) + HTML,
154152151202179161145 bytesSacrificó algunos bytes para manejar caracteres especiales.
Necesita ejecutarse bajo el
api.stackexchange.com
dominio. Devuelve una Promesa que contiene la ID o Lanza un error en la Promesa si no se puede encontrar el nombre de usuario.Nota: Esta solución fue desarrollada independientemente de Uriel y sus comentarios; Si Uriel decide usar el
find
método, me alegra volver a mi versión recursiva más larga.fuente