Herausforderung
Geben Sie unter Angabe des Namens eines PPCG-Mitglieds dessen PPCG-ID-Nummer aus. Wenn der Benutzer nicht existiert, können Sie einen Fehler melden oder eine nicht positive Zahl zurückgeben. Wenn es mehrere Mitglieder mit diesem Namen gibt, können Sie nur eine oder alle IDs ausgeben.
Testfälle
"musicman523" -> 69054 "Dennis" -> 12012 "xnor" -> 20260 "Undichte Nonne" -> 48934 "fəˈnəˈtɪk" -> 64505 "Jörg Hülsermann" -> 59107 "Community" -> -1 "Jeder Benutzer, der nicht existiert" -> 0 "Alex" -> 69198 (dies ist ein mögliches Ergebnis) "Leaky N" -> 0 "Jorge" -> 3716
code-golf
internet
stack-exchange-api
musicman523
quelle
quelle
Antworten:
Stack Exchange Data Explorer ,
5654535146 Byte-1 Byte dank Hyper Neutrino. -5 Bytes dank Giacomo Garabello.
Probieren Sie es online!
Ich bin nicht sicher, ob dies vollständig gültig ist, aber ... Die Eingabe muss in einfache Anführungszeichen gesetzt werden
'
.Außerdem verstehe ich immer noch nicht, warum SQL-Programmierer gerne schreien, aber es ist anscheinend eine gute Übung, so ...
SELECT
ALLESFROM
ALLESWHERE
ALLESLIKE
ALLES ALLES ALLES!Erläuterung
LASSEN SIE MICH ERKLÄREN.
quelle
JavaScript,
155149142135 Bytesquelle
Jörg Hülsermann
?0
fürOliver
:(r=>r.items[0]).then(r
mit({items:[r]})
. Zerstörungsauftrag ftw!i=>fetch('//api.stackexchange.com/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
Wenn dies fehlschlägt, wird ein Versprechungsfehler zurückgegeben. Sie können auch einfach tuni=>fetch('/users?site=codegolf&inname='+i).then(r=>r.json()).then(r=>r.items[0].user_id)
und sagen, dass es auf der API-Domäne ausgeführt werden mussPython 3 + -Anfragen , 196 Byte
Danke @Wondercricket für -6 Bytes!
Verwendet die Stack Exchange API. Der Fehler , der
Leaky N
undJorge
Fehler.Wenn es mehrere Benutzer mit demselben Namen gibt, werden alle gedruckt, was zulässig ist.
quelle
Leaky N
print a['user_id']
, was einen KeyError auslöst?Python 2 + -Anfragen , 187 Byte
Gibt die Benutzer-ID zurück, wenn ein einzelner Benutzer vorhanden ist, den ersten Benutzer, der den Anforderungen entspricht, falls weitere vorhanden sind, und meldet andernfalls einen Fehler.
quelle
/2.2
aus der API-URL entfernen .fəˈnɛtɪk
,\u{...}
sondern verwenden Sie es, da Python keine Nicht-ASCII-Zeichen toleriertPython 2 + -Anforderungen , 173 Byte
Probelauf
Tolle Tatsache: Das Ergebnis wird nach Ruf sortiert, der höchste zuerst.
quelle
Leaky N
%s
.>>> f('Leaky N')\n48934
0
.Leaky N
existiert nichtJavaScript,
128119 Bytes-9 Bytes dank Rogem .
quelle
JavaScript (ES6) + HTML,
154152151202179161145 ByteEinige Bytes für die Behandlung von Sonderzeichen geopfert.
Muss unter der
api.stackexchange.com
Domain ausgeführt werden. Gibt eine Promise mit der ID zurück oder löst einen Fehler in der Promise aus, wenn der Benutzername nicht gefunden wird.Hinweis: Diese Lösung wurde unabhängig von Uriels und seinen Kommentaren entwickelt. Wenn sich Uriel für die
find
Methode entscheidet, greife ich gerne auf meine längere, rekursive Version zurück.quelle