Wyzwanie
Biorąc pod uwagę nazwę użytkownika (nie ID, mamy już to wyzwanie), podaj jego bieżącą reputację i identyfikator.
Wejście
Dane wejściowe będą stanowić pojedynczy ciąg znaków, który jest nazwą użytkownika. Możesz założyć, że ten użytkownik istnieje.
Wynik
Dane wyjściowe będą dwie liczby całkowite do STDOUT lub STDERR, które będą reputacją użytkownika i identyfikatorem użytkownika. Muszą być w tej określonej kolejności i mogą być generowane w dowolnym rozsądnym formacie
Specyfika
- Dane wyjściowe dotyczące reputacji nie mogą być dłuższe niż 10 minut.
- Twój program nie może zgłaszać błędów podczas normalnego wykonywania
- Obowiązują standardowe luki (w tym brak skracaczy adresów URL)
- Jeśli z tą nazwą użytkownika jest więcej niż jeden użytkownik, możesz wyświetlić statystyki każdego użytkownika o tej nazwie. Dlatego też musisz wyprowadzić identyfikator.
- Reputacja, którą należy uzyskać, to reputacja użytkownika w PPCG, a nie łączny wynik sieci.
Witrynę interfejsu API stosu wymiany można znaleźć tutaj . Możesz przeczytać dokumentację stamtąd.
code-golf
stack-exchange-api
HyperNeutrino
źródło
źródło
Odpowiedzi:
Bash + JQ , 93 bajty
Wycofano wersję 87-bajtową, ponieważ nie obsługiwała ona poprawnie odpowiedzi wielu użytkowników.
Grał w golfa
Wyświetli identyfikator pierwszego użytkownika i reputację w osobnych wierszach.
Jak to działa ?
1)
curl + zcat
są używane do pobrania odpowiedzi API sformatowanej w JSON2)
jq ..|numbers
rozwinie rekurencyjnie JSON i wydrukuje wszystkie wartości liczbowe, po jednej w wierszu(numery wierszy zostały dodane
nl
wyłącznie w celach ilustracyjnych)3) Następnie używamy
sed
do wyszukiwania pierwszegoaccount_id
ireputation
według ich bezwzględnych numerów wierszyTest
źródło
JavaScript (ES6),
145 139 136 125 123117 bajtówZaoszczędź 6 bajtów dzięki Shaggy i 6 bajtów dzięki Cyoce.
Nie jestem pewien, czy powinien wypisać wszystkich użytkowników o tej samej nazwie, czy tylko jednego z nich; ten kod wypisuje je wszystkie.
źródło
"//api.stackexchange.com/users?site=codegolf&inname="+a
._=>alert(_)
justalert
?Python 2,
178169149 bajtówUżyłbym próśb o to:
Zasadniczo używa interfejsu API stosu, aby pobrać informacje jako JSON, a następnie otrzymuje pozycję „reputacja”. Dodatkowo interfejs API zawierał wiele dodatkowych parametrów, które też ogoliłem.
Hojny wkład od: carusocomputing, ElPedro, Malivil, Keerthana Prabhakaran
źródło
["items"][0]
otrzymuje to tylko pierwszy wynik, w przypadku wielu użytkowników nadal będzie ignorował dodatki, jeśli się nie mylę.import requests as r
ir.get(...
oszczędza 4 bajty.?site=codegolf&inname="
from requests import*;a=get()
zmniejsza bajt!Groovy,
144156 bajtówAnonimowe zamknięcie.
EDYCJA: zapomniałem użyć importu
groovy.json.
dla JSON Slurper + 14 bajtów.Przykładowe dane wyjściowe
[[UserID, Reputation],...]
:źródło
Szybki,
225201 bajtówBez golfa:
Przykładowe dane wyjściowe:
źródło