Herausforderung
Wenn Sie den Namen eines Benutzers (nicht die ID, wir haben diese Herausforderung bereits) angeben, geben Sie dessen aktuellen Ruf und dessen ID aus.
Eingang
Die Eingabe ist eine einzelne Zeichenfolge, die dem Benutzernamen des Benutzers entspricht. Sie können davon ausgehen, dass dieser Benutzer existiert.
Ausgabe
Die Ausgabe erfolgt in zwei Ganzzahlen, entweder STDOUT oder STDERR. Dies ist die Reputation des Benutzers und die ID des Benutzers. Sie müssen in dieser bestimmten Reihenfolge vorliegen und können in jedem vernünftigen Format ausgegeben werden
Besonderheiten
- Die Reputationsausgabe darf nicht älter als 10 Minuten sein.
- Ihr Programm darf während der normalen Ausführung keine Fehler auslösen
- Es gelten Standardlücken (einschließlich "Keine URL-Kürzungen")
- Wenn es mehr als einen Benutzer mit diesem Benutzernamen gibt, können Sie die Statistiken aller Benutzer mit diesem Benutzernamen ausgeben. Aus diesem Grund müssen Sie auch die ID ausgeben.
- Die auszugebende Reputation ist die Reputation des Benutzers in PPCG, nicht die Gesamtpunktzahl des Netzwerks.
Die Stack Exchange API-Site finden Sie hier . Sie können die Dokumentation von dort lesen.
code-golf
stack-exchange-api
HyperNeutrino
quelle
quelle
Antworten:
Bash + JQ , 93 Bytes
Die 87-Byte-Version wurde zurückgesetzt, da Mehrbenutzerantworten nicht korrekt verarbeitet wurden.
Golf gespielt
Gibt die erste Benutzer-ID und den Ruf in den separaten Zeilen aus.
Wie es funktioniert ?
1)
curl + zcat
werden verwendet, um die JSON-formatierte API-Antwort abzurufen2)
jq ..|numbers
entfaltet JSON rekursiv und druckt alle numerischen Werte, einen pro Zeile(Zeilennummern wurden
nl
nur zu Illustrationszwecken hinzugefügt )3) Als nächstes
sed
suchen wir die ersteaccount_id
undreputation
nach ihren absoluten ZeilennummernPrüfung
quelle
JavaScript (ES6),
145 139 136 125 123117 Byte6 Bytes dank Shaggy und 6 Bytes dank Cyoce.
Ich bin nicht sicher, ob alle Benutzer mit demselben Namen oder nur einer von ihnen ausgegeben werden sollen. Dieser Code gibt alle aus.
quelle
"//api.stackexchange.com/users?site=codegolf&inname="+a
._=>alert(_)
mit nur zu ersetzenalert
?Python 2,
178169149 BytesIch würde Anfragen dafür verwenden:
Grundsätzlich verwendet es die API des Stacks, um die Informationen als JSON abzurufen und erhält dann den Eintrag "Ruf". Darüber hinaus enthielt die API viele zusätzliche Parameter, die ich ebenfalls deaktiviert habe.
Großzügige Beiträge von: carusocomputing, ElPedro, Malivil, Keerthana Prabhakaran
quelle
["items"][0]
Dies liefert nur das erste Ergebnis. Bei mehreren Benutzern werden die Extras trotzdem ignoriert, wenn ich mich nicht irre.import requests as r
undr.get(...
speichert 4 Bytes.?site=codegolf&inname="
, können Sie 3 Bytes (+ "")from requests import*;a=get()
wird ein Byte reduziert!Groovy,
144 bis156 BytesAnonyme Schließung.
BEARBEITEN: Import von
groovy.json.
für JSON Slurper + 14 Bytes vergessen .Beispielausgabe
[[UserID, Reputation],...]
:quelle
Swift,
225201 BytesNicht golfen:
Beispielausgabe:
quelle