Gib die Antwort über deiner aus

15

Schreiben Sie ein Programm, das den Inhalt des ersten HTML- <code>...</code>Blocks der Antwort auf diese Frage ausgibt, der direkt über Ihrer liegt, wenn die Antworten nach Stimmen sortiert sind. Ausgabe, Top!wenn Sie die beste Antwort sind.

Ignoriere Antworten, die negative Stimmen oder keine <code>...</code>Tags haben. Die Quelle Ihres Programms muss im ersten <code>...</code>Block Ihres Beitrags stehen. Diese Blöcke werden automatisch erstellt, wenn Sie use backticksoder

indent things with 4 spaces.

Das ist Code-Golf, die Antwort mit den wenigsten Zeichen gewinnt.

Zusätzliche Regeln (aktualisiert)

  • Antworten Sie in einer beliebigen Programmiersprache. Wenn Sie jedoch mehrmals antworten, verwenden Sie unterschiedliche Sprachen.
  • Sie können Ihre Ausgabe nicht hart codieren. Die Fähigkeit Ihres Programms zur korrekten Ausführung sollte nicht von der Anzahl der abgegebenen Stimmen oder der obigen Antwort abhängen. Wenn sich die Stimmenverteilung drastisch ändert, sollte Ihr Programm den Code der Antwort darüber immer noch korrekt ausgeben.
  • Sie können Ihr Programm so programmieren, dass es auf dieser Seite nach sich selbst sucht (um die nächsthöhere zu finden). Dies geschieht über eine eindeutige Eigenschaft Ihrer Antwort, z. B. Ihren Benutzernamen (wenn Sie nur eine Antwort haben) oder den direkten Link der Antwort.
  • Wenn zwei Antworten die gleichen Stimmen haben, sollten Sie immer noch die über Ihrer Stimme verwenden (von der ich glaube, dass sie die neueste sein wird).
  • Sie können mehrere <code>...</code>Blöcke in Ihrer Antwort haben, aber der erste muss die Quelle Ihres Programms enthalten.
Calvins Hobbys
quelle
1
Muss ich mehrere Seiten berücksichtigen?
Οurous
1
Ja, Sie sollten mehrere Seiten berücksichtigen
Calvins Hobbys
4
Beachten Sie, dass dies inline code spansnur der Fall ist <code></code>, aber es sind die richtigen Codeblöcke <pre><code>stuff</code></pre>.
Türklinke
3
@ Calvin'sHobbies Ich denke, die Reihenfolge der verknüpften Antworten (nach Stimmen) ist zufällig. Zumindest auf SO weiß ich hier nichts.
Martin Ender
4
Ich würde argumentieren, dass es unnötig ist, sich um mehrere Seiten zu kümmern - wenn Sie nicht auf der ersten Seite sind, GEWINNEN Sie sowieso nicht :)
lrn

Antworten:

5

Javascript + jQuery (92 86 64 Zeichen)

Öffnen Sie zum Testen die Dev Tools auf dieser Seite (normalerweise F12) und führen Sie meinen Code aus!

Dieses Javscript muss über die Konsole auf dieser Seite (und nur auf dieser Seite) ausgeführt werden.

alert($("code",$("#answer-34767").prev().prev()).html()||"Top!")

So kurz, es braucht nicht einmal eine Bildlaufleiste!

Im Grunde findet es meine Antwort anhand der ID und bringt dann zwei Knoten voran (Überspringen des Ankerlinks). Wenn das nicht existiert, muss ich oben sein. Dann gräbt es nach dem ersten codeElement und bekommt es .innerHTML.

Das Schöne ist, dass SE standardmäßig jQuery verwendet, sodass ich diesen Vorteil nutzen kann, ohne es zu versuchen.

Robbie Wxyz
quelle
2
Ich persönlich mag deine Antwort nicht, weil es ein bisschen wie Schummeln ist alert($("code",$("#answer-34767").prev().prev()).html()||"Top!").
Core1024
@ core1024: Danke für die Verbesserung! Ich hatte nicht daran gedacht, es einmal zu tun. Ich bin damit einverstanden, dass ich einen großen Vorteil habe. Vielleicht muss ich den Firefox-Code für> 78MB zählen? Die Regeln lauten "Antworten Sie in einer beliebigen Programmiersprache".
Robbie Wxyz
Sie müssen den Firefox-Code nicht zählen :) Ihr Vorteil liegt in der aktuellen Umgebung und nicht im Interpreter. Es ist, als hätte jeder die Quelle der Seite bereits in ein "Objekt" / "Variable" geladen. +1 für den Exploit;)
core1024
4
Dies wird "top" warnen, wenn es oben auf der zweiten Seite ist. Ist dies das richtige Verhalten?
William Barbosa
@ WilliamBarbosa: Ich bin mit "lrn" auf diesem. (Siehe seinen Kommentar zur Frage von OP).
Robbie Wxyz
6

PHP 666 611 593 588 580 Zeichen

Bearbeiten: Verwendet noch kleinere URL als bisher von tinyurl.

Edit: Nach dem Kommentar zu einer anderen Antwort habe ich int anstatt boolean verwendet. Außerdem musste ein Fehler behoben werden, der offensichtlich wurde, aber jetzt behoben wurde.

Hier ist mein Code

<?
$a=34727;$b=new DOMDocument();$b->loadHTMLFile("http://turl.no/t2u");$c=$b->saveHTML();$d=$e=1;$f='data-answerid="';$g=strpos($c,$f);$h=substr($c,0,$g);$c=substr($c,($g+15));while($d==1){$g=strpos($c,'"');$i=substr($c,0,$g);if($i==$a){$j=$h;$k=$e;}$g=strpos($c,'vote-count-post ">');$c=substr($c,($g+18));$g=strpos($c,'<');$l=substr($c,0,$g);$g=strpos($c,'data-answerid="');if($g){++$e;++$e;$h=substr($c,0,$g);$c=substr($c,($g+15));}else{$d=2;}}if($k==1){echo 'Top!';}else{$g=strpos($j,'><code>');$m=strpos($j,'</code></pre>');$n=$m-$g-7;$o=substr($j,($g+7),$n);echo nl2br($o);}

Ich bin sicher, dass dies mit DOMXPath und Nodes verbessert werden kann. Bin aber ganz zufrieden damit. Ich konnte mich nicht entscheiden, was ich tun soll, ist die einzige Antwort, aber mit -ve Punkten, die so ignoriert werden. Es wurde jedoch eine andere Antwort gepostet, so dass dies kein Problem mehr darstellt.

Ich habe auch tinyurl verwendet, um die URL zu verkürzen und viele Zeichen zu speichern.

Ich hoffe du magst es,

Paul.

PS Dies wird nicht im Codepad ausgeführt, kann also keine Geige anzeigen.

Bearbeiten: 5 weitere gespeichert, wobei die PHP-Tags geändert wurden

Sie können sehen, dass es hier auf einer Domain funktioniert , die ich momentan nicht benutze (also versuche ich nicht nur einen hinterhältigen Link). Dies ist zwar kein permanenter Link, ist aber derzeit verfügbar.

Paul Drewett
quelle
Sie können es sogar noch weiter verkürzen, indem Sie einen noch kürzeren URL-Shortener verwenden =), zum Beispiel ➡.ws / .v
flawr
Ich habe es mit dem tinyarrows.com-Link versucht, aber die Verzögerung beim Herstellen der Verbindung lässt den Server aus. Es sind aber wirklich winzige URLs.
Paul Drewett
1
Auf dieser Site ist es akzeptabel, ein verkürztes Eröffnungs-Tag zu verwenden (ich glaube, <?stattdessen <?php) und das schließende Tag wegzulassen. Das sollte dir ein paar Zeichen mehr lassen.
Justin
1
turl.no macht einige ziemlich kurze Links und da es sich um einen norwegischen Linkverkürzer handelt, haben es nur wenige Leute international bemerkt. Hier ist ein Link für Sie: turl.no/t2u verweist auf dieselbe Seite wie Ihr tinyurl.com-Link und speichert 8 Zeichen.
Bilde2910
@ bilde2910 Danke, das hat funktioniert und es ist in der Tat eine weitere winzige URL. Sehr geschätzt und Turl.ca ist interessant. Er liebt seine .ca-Domains, nicht wahr :-)
Paul Drewett
4

Dart 412 403

import"dart:io";import"dart:convert";main(){new HttpClient().get("pi.vu",0,"BYga").then((v)=>v.close()).then((r)=>r.transform(UTF8.decoder).join()).then((s,[i,c="Top!"])=>new RegExp(r'<div id="answer-(\d+)[^]*?vote-count-post ">(\d+)[^]*?<table class="fw"').allMatches(s).forEach((m)=>m[1]=="34735"?print(c):m[2][0]!='-'&&(i=(s=m[0]).indexOf("<code>"))>0?c=s.substring(i+6,s.indexOf("</code>",i)):0));}

Ungolfed (gut, mit Zeilenumbrüchen und führenden Leerzeichen)

import"dart:io";
import"dart:convert";
main(){
  new HttpClient().get("pi.vu",0,"BYga")
  .then((v)=>v.close())
  .then((r)=>r.transform(UTF8.decoder).join())
  .then((s,[i,c="Top!"])=>
      new RegExp(r'<div id="answer-(\d+)[^]*?vote-count-post ">(\d+)[^]*?<table class="fw"')
      .allMatches(s)
      .forEach((m)=>
          m[1]=="34735"?print(c)
                       :m[2][0]!='-'&&(i=(s=m[0]).indexOf("<code>"))>0
                           ?c=s.substring(i+6,s.indexOf("</code>",i)):0
  ));
}
lrn
quelle
4

Delphi (688 873 859 848 840)

Ich werde immer noch versuchen, einige Charaktere abzuschaben, aber es wird den Job machen :)

Bearbeiten: anstatt es kürzer zu machen, habe ich es länger gemacht: P
Ich habe vergessen, das Ignorieren von Antworten hinzuzufügen, wenn es einen negativen Votecount oder keine Codeblöcke hat.

Ich aktualisiere gerade die nicht golfene Version, während ich sie bearbeite.
Vielen Dank an @manatwork für die vorgeschlagenen Änderungen, bei denen 8 Zeichen entfernt wurden.

Golf Version:

uses IdHTTP,Classes,MSHTML;const u='http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718#34718';var g:TIdHTTP;m:TMemoryStream;l:TStringList;p,t,r,o:OleVariant;s,i,j:int32;c:boolean;begin L:=TStringList.Create;g:=TIdHTTP.Create(nil);m:=TMemoryStream.Create;g.Get(u,m);m.Position:=0;L.LoadFromStream(m);p:=coHTMLDocument.Create as IHTMLDocument2;p.write(l.Text);for I:=0to p.body.all.length-1do begin c:=0>1;t:=p.body.all.item(i);if(t.classname='answer')and(t.id='answer-34718')then if s=0 then writeln('Top!') else for j:=0to o.all.length-1do begin t:=o.all.item(j);if t.tagname='CODE'then writeln(t.innertext);end else if t.classname='answer'then begin for j:=0to t.all.length-1do begin r:=t.all.item(j);if r.tagname='CODE'then c:=1>0 else if c and(r.class='vote-count-post')and(r.innertext[1]<>'-')then begin o:=t;s:=1;end;end;end;end;end.

Ungolfed-Version:

uses
  IdHTTP,Classes,MSHTML;
const
  u='http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718';
  a='answer';b='CODE';
var
  g:TIdHTTP;
  m:TMemoryStream;
  l:TStrings;
  p,t,r,o,z:OleVariant;
  s,i,j:int32;
  c:byte;
begin
  L:=TStringList.Create;
  g:=TIdHTTP.Create(nil);
  m:=TMemoryStream.Create;
  g.Get(u,m);
  m.Position:=0;
  L.LoadFromStream(m);
  p:=coHTMLDocument.Create as IHTMLDocument2;
  p.write(l.Text);
  z:=p.body.all;
  for I:=0to z.length-1do
  begin
    c:=0;
    t:=z.item(i);
    if(t.classname=a)and(t.id='answer-34718')then
      if s=0 then
        write('Top!')
      else
        for j:=0to o.all.length-1do
        begin
          t:=o.all.item(j);
          if t.tagname=b then
            write(t.innertext)
        end
    else if t.classname=a then
      for j:=0to t.all.length-1do
      begin
        r:=t.all.item(j);
        if r.tagname=b then
          c:=1
        else if(c=1)and(r.class='vote-count-post')and(r.innertext[1]<>'-')then
        begin
          o:=t;
          s:=1;
        end;
      end;
  end;
end.
Teun Pronk
quelle
http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours/34718#34718kann in geändert werden http://codegolf.stackexchange.com/q/34718, wodurch eine ganze Reihe von Zeichen eingespart werden.
Türklinke
Danke, leider musste ich auch einige hinzufügen , da ich das Teil vergessen , wo Sie Antworten mit einem negativen votecount ignorieren müssen oder ohne Code - Blöcke: / .. funktioniert nicht :( ich einen 301 permanent bewegt bekommen
Teun Pronk
Wie zuvor vorgeschlagen , können Sie l als deklarieren TStringsstatt. (Aber behalten Sie die Instanziierung bei TStringList.)
manatwork
Ich würde versuchen, c byteanstelle von zu machen boolean.
Handarbeit
3

Python - 280

import os, sys, cgi
os.system('wget http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours.html -q -O a')
b=[ x[:-2] for x in open('a').read().split('code>') if x[-1]=='/']
for i, m in enumerate(b):
    if m == cgi.escape(open(sys.argv[0]).read()):
        print b[i-1]

Dies ist mein erster Codegolf, also hoffe ich, dass dies Golf genug ist!

Edit: Danke für die Tipps! Es sieht jetzt ein bisschen golfer aus.

KidElephant
quelle
Nicht schlecht für einen ersten Versuch! Obwohl können Sie eine URL Shortener für den Link und loszuwerden einige Räume in dort (verwenden for i,m, m==openusw.).
Christoph Böhmwalder
@HackerCow Ich denke, URL-Kürzungen sind im Allgemeinen verpönt, http://codegolf.stackexchange.com/q/34705/14509würden aber definitiv funktionieren.
U-
@KidElephant Ich habe einige Leerzeichen aus Ihrem Code entfernt. Ich habe es nicht getestet oder so, aber wenn ich es nicht vermasselt habe, sollte es (logischerweise) dasselbe Programm sein. Beachten Sie, dass ich den Shebang entfernt habe, die sind hier nicht erforderlich. ix.io/dsz Durch das Entfernen von Leerzeichen können einige Bytes gespart werden :)
undergroundmonorail
Außerdem sollten Sie für Code-Golf-Herausforderungen eine Byteanzahl angeben. Ich würde hier eine für Sie bearbeiten, aber Ihre Antwort wird sich wahrscheinlich ändern, wenn Sie Vorschläge verwenden, damit ich mich nicht darum kümmere. Sie können die Anzahl der Bytes ermitteln, indem Sie ausführen wc -c $filename. Wenn Ihr Editor eine abschließende neue Zeile an Dateien anfügt (wahrscheinlich auch), können Sie eine davon abziehen, um Ihre endgültige Punktzahl zu erhalten.
U-
2

Mathematica - 159

Parsing zum ersten Mal in Mathematica

FirstCase[
 Cases[Import["http://bit.do/JGta1","XMLObject"],
 {__,a_,_,_,_,XMLElement[_, {_, "id""answer-34780",__},_],__}a,∞], 
 XMLElement["code",_,{c_}]c,"Top!",∞]
swish
quelle
2

Rubin 283 + 17 = 300

Dies gelingt unabhängig davon, wie wenige Stimmen diese Antwort erhält und ob es eine zweite (oder fünfzehnte) Seite mit Antworten gibt oder nicht. Es verwendet die Daten-API.

d=34849
JSON.parse(Net::HTTP.get(URI("http://api.stackexchange.com/2.2/questions/34705/answers?site=codegolf&filter=8G3Ng9T*")))['items'].map{|a|abort$1.gsub(/&.+?;/){|g|g[?a]??&:g[?g]??>:?<}if !d&&a['score']>=0&&/<code>(.*?)<\/code>/m=~a['body']
d=p if a['answer_id']==d}
$><<'Top!'

muss mit laufen ruby -rnet/http -rjson(daher die +17)

ungolfed:

d = 34849 # this answer id
i = JSON.parse(Net::HTTP.get(URI("http://api.stackexchange.com/2.2/questions/34705/answers?site=codegolf&filter=8G3Ng9T*")))['items'] # stackexchange api answers for this question
i.map{ |a|
  # if we've already hit this answer, the score's above 0 and there's code...
  if !d && a['score']>=0 && /<code>(.*?)<\/code>/m=~a['body'] then
    # abort with html-unescaped code
    abort $1.gsub(/&.+?;/){ |g|
      # this turns &amp;, &gt; and &lt; into &, > and <, respectively
      g[?a] ? ?& : g[?g] ? ?> : ?<       
    }
  end
  # if we are at our answer, set d = nil
  if a['answer_id']==d then 
    d = p 
  end
}
# no abort. puts 'Top!'
$><<'Top!'

Änderungsprotokoll

300 entfernte Parens in Symbol Regex

302 Initial Commit

Nicht dieser Charles
quelle
Sie können einige Bytes sparen, indem Sie Ihren Filter unsicher machen
pppery
@ppperry bitte erklären?
Nicht dass Charles
Wenn Sie unsichere Filter verwenden, müssen Sie HTML-Unescape manuell ausführen. Siehe die Filterdokumentation
pppery
1

PHP 135

<?
preg_match_all('@(\d+?)"></a.*de>(.*)</c@Us',join('
',file('http://pi.vu/BYga')),$m);echo$m[2][array_search(34786,$m[1])-1]?:'Top!';

Edit: lrns URL Shortener erzeugt die kürzeste URL :)

Der RegEx vergleicht den Anker vor jeder Antwort (zusammen mit der Antwort-ID) und den Inhalt des ersten <code>Tags. Das UFlag löst den UNgreedy-Modus aus und das sFlag make .gleicht neue Zeilen ab (sehr wenige). Ich mache mir keine Sorgen, wenn dies mit etwas anderem übereinstimmt, da die Antworten ausgeblendet werden, sodass niemand das <Literal in die Quelle der Seite einfügen kann .

Nachdem ich alle Antworten $m[2]und deren IDs erhalten habe $m[1], drucke ich echodie Antwort einfach über meiner aus, so wie sie ist $m[2][array_search(34786,$m[1])-1], oder "Oben!", Wenn meine Antwort irgendwann zuerst kommt :)

Ich mag die Tatsache, dass in PHP der ternäre Operator als Kurzschlussoperator verwendet werden kann ?:

core1024
quelle
Das ist großartig. Ich habe es gerade getestet, aber es zeigt den Code aus dem folgenden. Ich bin mir sicher, dass dies eine schnelle Lösung sein wird, dachte aber, ich würde es erwähnen. Unglaubliche Arbeit, 135 in PHP, ich kann es immer noch nicht recht glauben ...
Paul Drewett
1
@PaulDrewett Bitte beachten Sie die Bestellung, wenn Sie diese Seite im privaten Browsing öffnen. Es unterscheidet sich von der Bestellung, wenn Sie angemeldet sind.
Core1024
Oh, das ist überraschend. Ich wundere mich warum? Es tut uns leid, dass Sie auf einen Fehler hingewiesen haben. Mein Fehler. Ich habe Sie jedoch als nützliche Antwort bewertet. Ich finde es immer noch erstaunlich ...
Paul Drewett
1

Delphi, 461 Bytes , 553 Bytes

Verarbeitet jetzt auch mehrere Seiten!

Golf gespielt:

uses IdHTTP,RegularExpressions;var T,S,O:String;K,V,C:Int32;begin repeat Inc(C);Str(C,S);S:=TIdHTTP.Create.Get('http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours?page='+S);T:=T+S;until Pos('<span class="page-numbers next',S)=0;O:='Top!';for T in TRegEx.Split(T,'<a name="') do begin S:=T;Val(Copy(S,1,Pos('"',S)-1),K,C);if C=1then Continue;Delete(S,1,Pos('post ">',S)+6);Val(Copy(S,1,Pos('<',S)-1),V,C);C:=Pos('<code>',S);if(C=0)or(V<0)then Continue;if K=34844then Break;O:=Copy(S,C+6,Pos('</code>',S)-C-6);end;Write(O)end.

(leicht) ungolfed:

uses
  IdHTTP,RegularExpressions;
var
  T,S,O:String;
  K,V,C:Int32;
begin
  // download all pages in thread and concat them
  repeat
    Inc(C);
    Str(C,S);
    S:=TIdHTTP.Create.Get('http://codegolf.stackexchange.com/questions/34705/output-the-answer-above-yours?page='+S);
    T:=T+S;
  until Pos('<span class="page-numbers next',S)=0;
  O:='Top!'; // initialize code string to 'Top!'
  for T in TRegEx.Split(T,'<a name="') do begin
    S:=T;
    Val(Copy(S,1,Pos('"',S)-1),K,C); // try to extract user id
    if C=1then Continue; // if failed, continue loop
    Delete(S,1,Pos('post ">',S)+6); // prepare S for next parse
    Val(Copy(S,1,Pos('<',S)-1),V,C); // try to extract vote count
    C:=Pos('<code>',S); // check if <code> tag exists
    if(C=0)or(V<0)then Continue; // make sure vote count is positive and <code> tag exists
    if K=34844then Break; // if its our answer, break the loop
    O:=Copy(S,C+6,Pos('</code>',S)-C-6); // get string in <code> tag
  end;
  Write(O); // write <code> string
end.

Wie läuft man:

app.exe > output.txt
Marko Paunovic
quelle
schön, könnte das getan haben, auch anstelle der HTML - Einheiten mit .. schade , dass ich nicht gedacht , dass: P
Teun Pronk
Vielen Dank. Auch einer der (wenn nicht nur) Codes, der auch mehrere Seiten verarbeitet.
Marko Paunovic
1

PHP - 412 - 422 - 416 - 252 - 248:

Ich bin noch in Arbeit und habe noch nichts in Bezug auf mehrere Seiten getan (noch jemand anderes?)

Ich habe die 200 Zeichen verloren, weil ich eine Menge Dom herausgeschnitten habe. Warum nach Objekten suchen, wenn ich nur ihre Position finden kann?

Dies ist auch mein erster Code Golf! Ich bin froh, dass ich es in den 200ern gemacht habe und dom-Methoden verwendet habe. Dank Kommentaren habe ich gerade 4 weitere Charaktere rasiert.

Ich wollte etwas wie jquery / jscript in Bezug auf das Überqueren des Doms machen und arbeite immer noch daran, dies abzumildern. Vielleicht könnte ich mit der Suche nach "asi" als Benutzername davonkommen?

Golf:

<? $d=new DOMDocument;$d->loadHTMLFile("http://bit.do/JGta");$x=new DOMXPath($d);$r=$x->query("//*[@class='answer']");$a=-1;while($f=$r->item(++$a))if(strpos($f->nodeValue,"Asitaka"))echo$x->query(".//pre//code",$r->item($a-1))->item(0)->nodeValue;

Formatiert:

    <?php
$d = new DOMDocument();
$d->loadHTMLFile("http://bit.do/JGta");
$x = new DOMXPath($d);
$r = $x->query("//*[@class='answer']");
$a = -1;
while($f = $r->item(++$a))
        if ( stripos($f->nodeValue, "Asitaka")!= 0)
            echo $x->query(".//pre//code",$r->item($a-1))->item(0)->nodeValue;
?>

Prost

Asitaka
quelle
Klammern in new DOMDocument()und das Schließen ?>können in PHP weggelassen werden.
Jimmy23013
Danke, 4 weitere Charaktere verloren. Im Moment kann ich mir nicht vorstellen, wie ich es verkürzen kann, wenn ich nicht verschiedene Klassen verwende. DOM-Accessoren sind teuer.
Asitaka
Speichern Sie Zeichen, indem Sie Ihren Benutzernamen ändern!
DavidG
Ich finde das cool. Ich versuche nur, den Abfrageteil für DOMXPath zu lernen, aber ich muss zugeben, dass ich es schwierig finde. Ich habe es ausprobiert, konnte es aber nicht ganz verstehen. Ich habe deins getestet, aber es scheint, als würde es die zwei darüber und nicht die direkt darüber melden. Ich bin sicher, es ist eine schnelle Lösung, aber ich dachte nur, ich würde es erwähnen.
Paul Drewett
Nach dieser Info "Bitte sehen Sie sich die Bestellung an, wenn Sie diese Seite im privaten Browsing öffnen. Sie unterscheidet sich von der Bestellung, wenn Sie angemeldet sind - core1024" von einem anderen Antwortkommentar. Ich muss davon ausgehen, dass dasselbe auch hier passiert. Das tut mir leid.
Paul Drewett
1

Python 3, 197 - 191 Bytes

import urllib.request as u,gzip,json;p='Top!'
for r in json.loads(gzip.decompress(u.urlopen("http://bit.ly/2hN8TKV").read()).decode())["items"]:
 if r['answer_id']==82837:exit(p)
 p=r['body']

Die Regeln besagen nicht, dass ich die API nicht verwenden kann und dass ich keinen URL-Shortener verwenden kann.

https://tinyurl.com/hdemk76Erweitert auf https://api.stackexchange.com/2.2/questions/34705/answers?order=desc&sort=votes&site=codegolf&filter=withbody&pagesize=100 Dies funktioniert nur, wenn es in den Top 100 Antworten nach Stimmen sortiert ist.

Pfeffer
quelle
-6, wenn Sie ersetzen https://tinyurl.com/hdemk76durchhttp://bit.ly/2hN8TKV
Taylor Scott