Это простой. Если ввести число, верните имя и рейтинг репутации пользователя переполнения стека с указанным идентификатором . Ваша программа может предположить, что ей всегда присвоен действительный и существующий идентификатор пользователя.
Например: учитывая ввод 764357
(который является моим идентификатором пользователя в StackOverflow), программа выдаст LegoStormtroopr 3,088
(приблизительно), что она может измениться.
Вы получаете URL: « /programming//users/ » или « http://api.stackexchange.com/2.1/users/ » бесплатно, так что ваш счет length of your program - 31 or 39
, в зависимости от URL вы используете - но объявить, что это такое . Это предотвращает злоупотребление сокращителями URL.
редактировать: и не вызывать пользовательский API, который запрашивает переполнение стека, и возвращает только имя и счет. Но если вы знаете официальный API, то это вполне законно.
edit2: Если вам нужен пример ввода: я дал мой идентификатор ниже, не стесняйтесь добавлять свой собственный идентификатор, имя пользователя и счет ниже, чтобы помочь другим. Отметьте еще раз, это для основного сайта переполнения стека.
764357 returns LegoStormtroopr 3,088
источник
http://api.stackexchange.com/2.1/users/
также быть «свободным», чтобы избежать наказания пользователей API?site=stackoverflow
часть бесплатно?Ответы:
Сценарий оболочки:
6451 символаОбразец прогона:
(Обратите внимание, что вы должны нажать
^D
после ввода ввода в интерактивном режиме. Или просто передать его в команду.)источник
Рубин:
8470 символовОбразец прогона:
источник
s[/me">(.+)</,1],s[/ation".*?([\d,]+)/,1]
кажется, работаетgrep
будет отображать больше совпадений только для «ation» ».)-ropen-uri
опцию. (Это обязательно и входит в число персонажей.)Python 2.7 - 119
(150 - 31)
Без регулярного выражения:
источник
Питон 3, 117
117 = 148 - 31
Я не думаю, что поиск в исходном HTML-коде приведет к серьезному решению. Например, некоторые странные вещи в профиле могут нарушить ваши решения. Поэтому я хотел бы искать с помощью селекторов CSS.
источник
Javascript 217
Вот исходная версия Javascript, в которой используются официальные API с JSONP. Использование URL потребует XHR, что может быть довольно многословно, если я найду время, я попробую более гольф-версию.
источник
Perl 5 (с Mojolicious), 87 - 31 = 56 байт
Образец прогона:
Читаемый и чистый: 128 - 31 = 97 байт
Образец прогона:
источник
-Mojo
включены в счет? Это стоит 4 символа.-ropen-uri
. Тем не менее, я рад включить его, если ваш комментарий наберет несколько голосов, что свидетельствует о том, что сообщество хочет их подсчитать.perl
«s-p
вариант обычно учитывается +1. Исходя из этого я считаю-Mojo
+4.R: 150-31 = 119
Довольно просто выбирает первые строки, содержащие
h1
(для имени) и=re
(для оценки), используяgrep
с аргументомvalue=TRUE
(здесьv=T
), а затем разбивают строку (используяstrsplit
символы>
и<
. Неудобно он запрашивает страницу дважды (отсюда два «Чтение n элементов») предупреждения) но это было короче.источник
Tcl, (231 - 39) 192
не самый короткий путь, но используя официальный API
И в духе оригинального вопроса:
Находит пользователей с такой репутацией
источник
Короче CoffeeScript: 143 символа (182 - 39)
Это полагается на то, что API всегда возвращает ключи объекта в том же порядке, но сбрасывает 7 символов.
CoffeeScript: 150 символов (189 - 39)
(Обратите внимание, что программа запрашивает «неопределенное» - запрашивает идентификатор пользователя.)
источник
R - 84
84 = 115 - 31
Моделирование:
источник
101100 - CoffeeScript с помощью jQueryВот скрипка ; просто знайте, что он запрашивает вас при первом открытии страницы, поэтому подготовьте идентификатор или нажмите «Выполнить» еще раз.
Или мы можем быть супер хакерами, чтобы спасти целый персонаж!
источник
Python 2.7 - 112
112 = 143 - 31
Новая, короткая версия, в которой используются некоторые идеи Стивена Румбальски , и в то же время используется Regex.
133 = 164 - 31
Вот базовая версия для людей, с которой можно работать, но я уверен, что люди могут стать еще короче.
источник
http://stackoverflow.com/users/12340
404.499214
вместо12340
GNU Awk: 217 символов
Просто потому, что GNU
awk
изначально поддерживает TCP: нет модуля / библиотеки / внешнего инструмента.Образец прогона:
источник