Создайте программу, которая найдет последние 50 задач с тегом code-golf, который содержит не менее 20 ответов. Затем извлеките баллы для каждого языка в каждой из задач. Если на одном языке используется более одного ответа, подсчитайте все баллы. После этого возьмите 20 самых распространенных языков и выведите список с именами языков, количеством ответов, средним числом байтов и средним числом байтов. Список должен быть отсортирован по количеству ответов в порядке убывания.
Вы должны учитывать различия в использовании заглавных букв (например: Matlab = MATLAB).
В языках с разными номерами версий (например, Python) считайте их как уникальные языки, поэтому: Python != Python 2 != Python 2.7 != Python 3.x
Пример вывода (формат вывода необязательный):
cJam, 66, 12.4, 8.5
Pyth, 58, 15.2, 19
Ruby, 44, 19.2, 22.5
Python, 34, 29.3, 32
Python 2.7, 22, 31.2, 40
...
...
Java, 11, 115.5, 94.5
Форматы заголовков, которые должны поддерживаться:
- Начинается с
# Language name,
или#Language name
- Заканчивается
xx bytes
,xx Bytes
или простоxx
- Между первой запятой и последним числом может быть много мусора.
- Если название языка является ссылкой (
[Name](link)
), его можно пропустить
Если ответ имеет другой формат заголовка, вы можете пропустить его (или включить, если ваш код может его обработать).
Например, должны поддерживаться все приведенные ниже заголовки:
# Language Name, N bytes
# Ruby, <s>104</s> <s>101</s> 96 bytes
# Perl, 43 + 2 (-p flag) = 45 Bytes
# MATLAB, 5
Правила:
- Можно использовать API или просто URL-адрес веб-сайта.
- Следующее может быть извлечено из числа байтов (больше ничего), поэтому нет необходимости использовать сокращающий URL (максимум 44 байта):
https://
(илиhttp://
)codegolf
.stackexchange.com
/questions
- Следующее может быть извлечено из числа байтов (больше ничего), поэтому нет необходимости использовать сокращающий URL (максимум 44 байта):
- Программа может принимать входные данные. Входные данные будут включены в число байтов.
Кроме этого, применяются стандартные правила.
xx bytes
это очень часто встречается в последнее время (по крайней мере, с момента создания фрагмента списка лидеров).Ответы:
R 821 - 44 = 777 байт
Обновленные результаты : просмотрите историю изменений, чтобы разобраться во всех комментариях ниже.
Код, который я мог бы сократить немного больше:
Де-golfed:
источник
Python 2, 934 - 44 (URL-адрес) = 890 байт
Используя API:
Обратите внимание, что этот код не обращает внимания на регулирование API.
Выход:
источник
/questions
сокращение.bytes
, в то время как мой будет обрабатывать другие суффиксы, такие какchars
.l=re.sub("# ?|,","",l)
это то, что заменяет C # на C.