Défi
Étant donné le nom d'un membre PPCG, sortez son numéro d'identification PPCG. Si l'utilisateur n'existe pas, vous pouvez signaler une erreur ou renvoyer un nombre non positif. S'il existe plusieurs membres portant ce nom, vous pouvez choisir de ne générer qu'un seul ID ou tous.
Cas de test
"musicman523" -> 69054 "Dennis" -> 12012 "xnor" -> 20260 "Leaky Nun" -> 48934 "fəˈnɛtɪk" -> 64505 "Jörg Hülsermann" -> 59107 "Communauté" -> -1 "Tout utilisateur qui n'existe pas" -> 0 "Alex" -> 69198 (c'est un résultat possible) "Leaky N" -> 0 "Jorge" -> 3716
code-golf
internet
stack-exchange-api
musicman523
la source
la source
Réponses:
Stack Exchange Data Explorer ,
5654535146 octets-1 octet grâce à Hyper Neutrino. -5 octets grâce à Giacomo Garabello.
Essayez-le en ligne!
Je ne sais pas si cela est complètement valide mais ... L'entrée doit être entourée de guillemets simples
'
.De plus, je ne comprends toujours pas pourquoi les programmeurs SQL aiment crier mais c'est apparemment une bonne pratique alors ...
SELECT
TOUTFROM
TOUTWHERE
TOUTLIKE
TOUT!Explication
LAISSEZ-MOI EXPLIQUER.
la source
JavaScript,
155149142135 octetsla source
Jörg Hülsermann
?0
pourOliver
:(r=>r.items[0]).then(r
par({items:[r]})
. Affectation déstructurer FTW!i=>fetch('//api.stackexchange.com/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
car il renverra une erreur de promesse en cas d'échec. Vous pouvez également simplement fairei=>fetch('/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
et dire qu'il doit être exécuté sur le domaine apiPython 3 + requêtes , 196 octets
Merci @Wondercricket pour -6 octets!
Utilise l'API Stack Exchange. Correction des erreurs
Leaky N
etJorge
.S'il y a plusieurs utilisateurs avec le même nom, il les imprime tous, ce qui est autorisé.
la source
Leaky N
print a['user_id']
, ce qui déclenchera une erreur de clé?Python 2 + requêtes , 187 octets
Renvoie l'ID utilisateur s'il existe un seul utilisateur, le premier utilisateur qui correspond aux exigences s'il en existe plus et signale une erreur sinon.
la source
/2.2
de l'URL API.fəˈnɛtɪk
, utilisez à la\u{...}
place, car Python ne tolère pas non-ASCIIPython 2 + requêtes , 173 octets
Exemple d'exécution
Fait amusant: le résultat est trié par réputation, le plus élevé en premier.
la source
Leaky N
%s
.>>> f('Leaky N')\n48934
0
.Leaky N
n'existe pasJavaScript,
128119 octets-9 octets grâce à Rogem .
la source
JavaScript (ES6) + HTML,
154152151202179161145 octetsSacrifié quelques octets pour gérer les caractères spéciaux.
Doit être exécuté sous le
api.stackexchange.com
domaine. Renvoie une promesse contenant l'ID ou renvoie une erreur dans la promesse si le nom d'utilisateur est introuvable.Remarque: Cette solution a été développée indépendamment d'Uriel et de ses commentaires; si Uriel décide d'utiliser la
find
méthode, je suis heureux de revenir à ma version plus longue et récursive.la source