Desafio
Dado o nome de um membro do PPCG, imprima seu número de ID do PPCG. Se o usuário não existir, você poderá relatar um erro ou retornar qualquer número não positivo. Se houver vários membros com esse nome, você poderá optar por gerar apenas um ID ou todos eles.
Casos de teste
"musicman523" -> 69054 "Dennis" -> 12012 "xnor" -> 20260 "Freira Furada" -> 48934 "fəˈnɛtɪk" -> 64505 "Jörg Hülsermann" -> 59107 "Comunidade" -> -1 "Qualquer usuário que não existe" -> 0 "Alex" -> 69198 (este é um resultado possível) "Vazamento N" -> 0 "Jorge" -> 3716
code-golf
internet
stack-exchange-api
musicman523
fonte
fonte
Respostas:
Explorador de dados do Exchange de pilha ,
5654535146 bytes-1 byte graças ao Hyper Neutrino. -5 bytes graças a Giacomo Garabello.
Experimente online!
Não tenho certeza se isso é completamente válido, mas ... A entrada deve estar entre aspas simples
'
.Além disso, ainda não entendo por que os programadores SQL gostam de gritar, mas aparentemente é uma boa prática ...
SELECT
TUDOFROM
TUDOWHERE
TUDOLIKE
TUDO TUDO!Explicação
DEIXE-ME EXPLICAR.
fonte
JavaScript,
155149142135 bytesfonte
Jörg Hülsermann
?0
paraOliver
:(r=>r.items[0]).then(r
por({items:[r]})
. Ftw atribuição de reestruturação!i=>fetch('//api.stackexchange.com/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
pois retornará um erro de promessa se falhar. Você também pode simplesmente fazeri=>fetch('/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
e dizer que ele precisa ser executado no domínio da APISolicitações Python 3 + , 196 bytes
Obrigado @Wondercricket por -6 bytes!
Usa a API do Stack Exchange. Corrigido o
Leaky N
eJorge
erros.Se houver vários usuários com o mesmo nome, ele imprimirá todos, o que é permitido.
fonte
Leaky N
print a['user_id']
, o que gerará um KeyError?Solicitações Python 2 + , 187 bytes
Retorna o ID do usuário se existir um único usuário, o primeiro usuário que corresponder aos requisitos, se houver mais, e relatar um erro caso contrário.
fonte
/2.2
do URL da API.fəˈnɛtɪk
, use\u{...}
em vez disso, porque Python não tolera não-ASCIISolicitações Python 2 + , 173 bytes
Amostra de execução
Curiosidade: o resultado é classificado por reputação, mais alto primeiro.
fonte
Leaky N
%s
.>>> f('Leaky N')\n48934
0
.Leaky N
não existeJavaScript,
128119 bytes-9 bytes graças ao Rogem .
fonte
JavaScript (ES6) + HTML,
154152151202179161 161bytesSacrificou alguns bytes para manipular caracteres especiais.
Precisa ser executado sob o
api.stackexchange.com
domínio. Retorna uma promessa que contém o ID ou gera um erro na promessa se o nome de usuário não puder ser encontrado.Nota: Esta solução foi desenvolvida independentemente dos de Uriel e seus comentários; se Uriel decide usar o
find
método, fico feliz em reverter para minha versão mais longa e recursiva.fonte