Utwórz program, który znajdzie 50 ostatnich wyzwań za pomocą tagu golf-golf, który ma co najmniej 20 odpowiedzi. Następnie wyodrębnij wyniki dla każdego języka w każdym z wyzwań. Jeśli istnieje więcej niż jedna odpowiedź w tym samym języku, policz wszystkie wyniki. Następnie weź 20 najpopularniejszych języków i wypisz listę z nazwami języków, liczbą odpowiedzi, średnią liczbą bajtów i średnią liczbą bajtów. Lista powinna być posortowana według liczby odpowiedzi w kolejności malejącej.
Musisz uwzględnić różnice w wielkości liter (na przykład: Matlab = MATLAB).
W językach z wieloma różnymi numerami wersji (np. Python) policz je jako języki unikalne, więc: Python != Python 2 != Python 2.7 != Python 3.x
Przykładowe dane wyjściowe (format wyjściowy jest opcjonalny):
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
Formaty nagłówków, które muszą być obsługiwane:
- Zaczyna się od
# Language name,
lub#Language name
- Kończy się
xx bytes
,xx Bytes
lub po prostuxx
- Pomiędzy pierwszym przecinkiem a ostatnim numerem może być dużo śmieci.
- Jeśli nazwą języka jest link (
[Name](link)
), można go pominąć
Jeśli odpowiedź ma inny format nagłówka, możesz ją pominąć (lub dołączyć, jeśli Twój kod może to obsłużyć).
Na przykład wszystkie poniższe nagłówki muszą być obsługiwane:
# Language Name, N bytes
# Ruby, <s>104</s> <s>101</s> 96 bytes
# Perl, 43 + 2 (-p flag) = 45 Bytes
# MATLAB, 5
Zasady:
- Można używać interfejsu API lub samego adresu URL witryny
- Z liczby bajtów można wyodrębnić (nic więcej), więc nie trzeba używać skracacza adresów URL (maksymalnie 44 bajty):
https://
(lubhttp://
)codegolf
.stackexchange.com
/questions
- Z liczby bajtów można wyodrębnić (nic więcej), więc nie trzeba używać skracacza adresów URL (maksymalnie 44 bajty):
- Program może przyjmować dane wejściowe. Dane wejściowe zostaną uwzględnione w liczbie bajtów.
Poza tym obowiązują standardowe zasady.
xx bytes
jest bardzo powszechny w ostatnich wyzwaniach (przynajmniej od czasu utworzenia fragmentu tabeli wyników).Odpowiedzi:
R, 821–44 = 777 bajtów
Zaktualizowane wyniki : zapoznaj się z historią edycji, aby zrozumieć wszystkie poniższe komentarze.
Kod, który mógłbym nieco skrócić:
Gra w golfa:
źródło
Python 2, 934 - 44 (URL) = 890 bajtów
Korzystanie z interfejsu API:
Pamiętaj, że ten kod nie zwraca uwagi na ograniczanie interfejsu API.
Wydajność:
źródło
/questions
obniżki.bytes
, podczas gdy moje będzie obsługiwać inne sufiksy, takie jakchars
.l=re.sub("# ?|,","",l)
to, że zastępuje C # przez C.