Imgur ist ein kostenloser Image-Hosting-Service. Viele Leute benutzen es. Hier ist ein Beispiel für einen Imgur-Link: http://i.imgur.com/T55muMD.png . Schreiben Sie ein Programm, das kontinuierlich zufällige (gültige) Imgur-Links ausgibt. Hier ist zum Beispiel eine Beispielausgabe meines Programms (nicht gezeigt, da es einige Tricks enthält, die Sie selbst herausfinden müssen):
http://i.imgur.com/uFmsA.png
http://i.imgur.com/FlpHS.png
http://i.imgur.com/eAbsZ.png
http://i.imgur.com/lEUsq.png
http://i.imgur.com/RuveH.png
http://i.imgur.com/BoEwB.png
http://i.imgur.com/HVFGQ.png
http://i.imgur.com/PZpMg.png
http://i.imgur.com/DezCY.png
Nützliche Hinweise:
- Als imgur neu war, wurden Links mit 5 Buchstaben verwendet.
- Als imgur neu war, wurden keine Zahlen verwendet.
- Sie können dies zu Ihrem Vorteil nutzen: Finden Sie nur 5-Buchstaben-Linkbilder mit nur Buchstaben. Das macht mein Programm.
- Außerdem werden alle Bilder als gespeichert
.png
.
Bedarf:
- Geben Sie kontinuierlich zufällige Imgur-Links aus
- Links, die als ausreichend "zufällig" angesehen werden, wenn 50 ohne Wiederholungen ausgegeben werden
- Links müssen beim Besuch ein Bild sein
- Links müssen mit beginnen
http://i.imgur.com/
und mit enden.png
- Punktzahl ist die Anzahl der Zeichen
Ich habe es in Java (SCHRECKLICH zum Golfen) in 452 Zeichen gemacht. Wird hier nicht gezeigt, da es einige Tricks enthält, die Sie selbst herausfinden müssen!)
Antworten:
PHP 5.4, 76 Zeichen
URLs werden in sequentieller Reihenfolge nur mit Großbuchstaben generiert und niemals wiederholt, wobei der Buchstabe der Spezifikation erfüllt wird.
quelle
Perl (93 + 4 = 97)
Verwenden Sie den zufälligen Mechanismus von imgur , um die Bild-URLs abzurufen, bei denen es sich meistens nicht um PNG-URLs handelt:
( Dafür brauchst du Mojolicious .)
quelle
HTML (152)
Dies protokolliert alle gefundenen Bilder auf der JavaScript-Konsole mit
console.log()
. Funktioniert in allen getesteten Browsern (Firefox, Chrome, IE9, Safari und Opera).Der lustige Teil ist, dass alle möglichen lustigen Bilder für einen Augenblick aufblitzen :).
Versuch es! (jsFiddle packt dies in eine vollständigere HTML-Seite, aber Browser akzeptieren auch das einzelne Element.)
Requisiten für die erstaunliche Zufallsstring-Methode von Doubletap !
Wo kann ich die JavaScript-Konsole und die protokollierten Bilder sehen?
quelle
Perl (87)
Suchen Sie eines Tages nach Bildern mit Groß-, Klein- und Ziffern von 0 bis zu beliebigen Zeichen.
quelle
Mathematica , 108
Leerraum hinzugefügt.
quelle
Python (
174158156)Ich möchte kürzere Modulnamen in Python. Auch eine einfachere Methode, um zufällige Buchstaben zu erhalten. :) :)
Erläuterung:
Der Moduloperator für eine Zeichenfolge ist der Formatierungsbefehl. In diesem Fall ersetzt er '% s' in der Zeichenfolge durch 5 zufällige Großbuchstaben.
a
Der Name (Typstr
) der Website('File'not in urllib.urlopen(a).read())
ist True, wenn 'Datei' (aus 'Datei nicht gefunden!'). wird im HTML der URL nicht gefunden. (Typbool
)bool
*str
=str
ifbool
= True, wird also nur ausgegeben,a
wenn 'Datei' nicht im HTML-Code gefunden wird.quelle
chr(random.randint(65,90))
'File'
obwohl :)'XXXXX'
anstatt verwendenrange(5)
. Dies hat auch den Vorteil, dass kein Leerzeichen zwischen ihm und dem erforderlich istin
.Einzigartiger Python-Ansatz.
361355334332322314 Zeichen - etwas verschleiert, nichts zu schwierig. Kann zu einer ungewöhnlich hohen Dichte an Katzenbildern führen, wurden Sie gewarnt.Ausgabe:
quelle
R, 182 Zeichen
quelle
Python, 153 Zeichen
Während dies funktioniert, ist es blutig langsam und kann viele Sekunden dauern, bis eine Ausgabe zurückgegeben wird.
Inspiriert von der Lösung von @ beary605 - er hat mir eine Reihe von Zeichen erspart, als ich vorhatte, anhand des Headers vom Inhaltstyp nach Bildern zu suchen.
quelle
random.sample
:) Das ist eine viel bessere Art, Charaktere auszuwählen.Bash
(129, 121)(117, 109)Ich habe zwei Versionen: eine iterative und eine endlose rekursive (die langsam den gesamten Speicher verschlingen). Beide Versionen prüfen, ob tatsächlich eine PNG-Datei vorhanden ist (JPGs, GIFs und andere Dateitypen werden ignoriert).
Iterativ (alt) (129):
Rekursiv (alt) (121):
Hinweis : Möglicherweise liegt ein Kompatibilitätsproblem mit grep vor. Mein grep-Handbuch besagt, dass die
-s
Ausgabe von grep stummgeschaltet wird, aber nichts tut. Allerdings verwenden--quiet
,--silent
oder-q
stattdessen arbeitet.BEARBEITEN:
Verwenden Sie jetzt Inhaltsheader, nachdem Sie /codegolf//a/10499/7195 gelesen haben :)
Iterativ (117):
Rekursiv (109):
quelle
Rubin (103 Zeichen)
quelle
.png
am Ende der URL ein hinzufügen .Bash / Kommandozeilen-Tools, 72 Zeichen
Die clevere Technik von @ memowe ausleihen :
Dies erreicht eine kontinuierliche Schleife, indem es sich innerhalb desselben Prozessraums erneut ausführt.
quelle