Według legendy , niemal wszyscy outgolfed przez Dennisa . Jeśli nie, to będą.
Teraz jestem ciekawy, czy jestem jednym z tych „prawie wszystkich”.
Otrzymasz link do odpowiedzi w formacie /codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]
.
Znajdź długość kodu, który przyjmiemy jako ostatni numer w pierwszym wierszu (pod względem przeceny) odpowiedzi w łączu.
Następnie wyszukaj odpowiedzi Dennisa i zrób to samo.
Teraz porównaj długość kodu danych wejściowych i odpowiedzi Dennisa, a jeśli nie jest w golfie (co oznacza, że jedna lub więcej odpowiedzi Dennisa jest krótsza niż odpowiedź wejściowa), wypisz prawdziwą wartość, a jeśli nie, wartość fałsz.
Jeśli nie ma odpowiedzi należącej do Dennisa na to samo pytanie, co odpowiedź, wpisz wartość fałszowania.
Przykłady
Zasady
- Możesz użyć dowolnej wartości prawdziwej / fałszywej.
- Pytanie, na które otrzymasz odpowiedź, zawsze będzie polegać na grze w golfa .
Pytanie może nie zawierać odpowiedzi Dennisa, ale wprowadzona odpowiedź nigdy nie będzie należeć do Dennisa.
Możesz założyć, że w pierwszym wierszu odpowiedzi zawsze znajduje się liczba.
źródło
Odpowiedzi:
Python 3.6 + żądania + bs4 -
363358 bajtówOdbitki
True
lubFalse
.Uwaga: obecnie nie działa na drugim łączu z powodu nieprawidłowego kodu HTML wygenerowanego przez tę odpowiedź ( znaczniki
em
istrong
są kończone w niewłaściwej kolejności na końcu drugiego wiersza i powodują, że parser nie pamięta bloku nazwy użytkownika). Zamiast tego wypróbuj ten link .Korzystanie z interfejsu API -
401380 bajtówZauważ, że to również zawiedzie w przypadku drugiego linku, ale ponieważ jedna odpowiedź rozpoczęła się
This may be foul play.
od nagłówka ...źródło
filter=withbody
znajduje się w żądaniu GET, aby uzyskać treść odpowiedzi w celu pobrania liczby bajtówa
dwa razy (raz, aby ustawić identyfikator odpowiedzi, a drugi podczas iteracjir["items"]
, co doprowadziłoby do nieprawidłowego zachowania. Ponadto nie musisz ustawiaćpagesize
(domyślnie 30).c=int(re.search(r'(\d+) bytes').group(1))
Powinien dać ci dokładniejsze pobieranie bajtecount i jest krótsze, a jeśli nadal się nie powiedzie,(\d+)\s*bytes
robi lewę, ale jest nieco dłuższe. Wreszciei=r["has_more"]and i+1
jest krótsze niż warunkowe trójskładnikoweRubinowy,
314315308 + 20 =334335328 bajtówUżywa flag
-n -rjson -ropen-uri
. +1 bajt od naprawienia drobnego błędu.-7 bajtów, odkrywając
open-uri
domyślną bibliotekę Ruby.źródło