Imgur est un service d'hébergement d'images gratuit. Beaucoup de gens l'utilisent. Voici un exemple de lien imgur: http://i.imgur.com/T55muMD.png . Écrivez un programme qui génère continuellement des liens imgur aléatoires (valides). Par exemple, voici un exemple de sortie de mon programme (non affiché car il contient quelques astuces que vous devrez comprendre vous-même):
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
Astuces utiles:
- Lorsque imgur était nouveau, des liens à 5 lettres ont été utilisés.
- Quand imgur était nouveau, les chiffres n'étaient pas utilisés.
- Vous pouvez l'utiliser à votre avantage: ne trouvez que des images de liens à 5 lettres avec uniquement des lettres. C'est ce que fait mon programme.
- De plus, toutes les images sont enregistrées sous
.png
.
Exigences:
- Produire en continu des liens aléatoires imgur
- Liens considérés comme suffisamment "aléatoires" si 50 sont sortis sans répétition
- Lorsqu'ils sont visités, les liens doivent être une image
- Les liens doivent commencer par
http://i.imgur.com/
et se terminer par.png
- Le score est le nombre de caractères
Je l'ai fait à Java (TERRIBLE pour le golf) en 452 caractères. Non affiché ici car il contient des astuces que vous devrez découvrir par vous-même!)
Réponses:
PHP 5.4, 76 caractères
Les URL sont générées dans un ordre séquentiel en utilisant uniquement des lettres majuscules et ne se répètent jamais, en respectant la lettre de la spécification.
la source
Perl (93 + 4 = 97)
Utilisation du mécanisme aléatoire imgur pour obtenir leurs URL d'image, qui ne sont pas la plupart du temps des URL png:
(Vous avez besoin de Mojolicious pour cela.)
la source
HTML (152)
Cela enregistre toutes les images trouvées sur la console JavaScript à l'aide de
console.log()
. Fonctionne dans tous les navigateurs testés (Firefox, Chrome, IE9, Safari et Opera).La partie amusante est que toutes sortes d'images drôles clignotent pour un clin d'œil :).
Essayez! (jsFiddle encapsule cela dans une page HTML plus complète, mais les navigateurs acceptent également l'élément unique.)
Props à l' incroyable méthode de chaîne aléatoire par doubletap !
Où puis-je voir la console JavaScript et les images enregistrées?
la source
Perl (87)
Recherche d'images en majuscules, minuscules et chiffres de 0 à n'importe quel caractère, un jour.
la source
Mathematica , 108
Espace blanc ajouté.
la source
Python (
174158156)Je veux des noms de modules plus courts en Python. Aussi une méthode plus simple pour obtenir des lettres aléatoires. :)
Explication:
L'opérateur de module sur une chaîne est la commande de formatage, dans ce cas, il remplace '% s' dans la chaîne par 5 lettres majuscules aléatoires
a
est le nom du site Web (typestr
)('File'not in urllib.urlopen(a).read())
est True lorsque 'File' (de 'File not found!') est pas trouvé dans le code HTML de l'URL. (typebool
)bool
*str
=str
ifbool
= True, donc il ne sortira quea
si "Fichier" n'est pas trouvé dans le code HTML.la source
chr(random.randint(65,90))
'File'
'XXXXX'
plutôt querange(5)
. Cela a également l'avantage de ne pas nécessiter d'espace entre lui et lein
.Approche Python unique.
361355334332322314 caractères - un peu obscurcis, rien de trop difficile. Cela peut entraîner une densité inhabituellement élevée d'images de chats, vous a-t-on prévenu.Production:
la source
R, 182 caractères
la source
Python, 153 caractères
Bien que cela fonctionne, il est extrêmement lent et peut prendre plusieurs secondes avant de retourner une sortie.
Inspiré par la solution de @ beary605 - il m'a sauvé un tas de caractères alors que je prévoyais de vérifier l'image par en-tête de type de contenu.
la source
random.sample
:) C'est une bien meilleure façon de choisir des personnages.Bash
(129, 121)(117, 109)J'ai deux versions: une itérative et une infinie récursive (qui va lentement manger toute la mémoire). Les deux versions vérifient s'il existe réellement un fichier PNG (les fichiers jpg, gif et autres sont ignorés).
Itératif (ancien) (129):
Récursif (ancien) (121):
Remarque : il peut y avoir un problème de compatibilité avec grep. Mon manuel de grep indique que
-s
la sortie de grep est silencieuse mais cela ne fait rien. Cependant, en utilisant--quiet
,--silent
ou à la-q
place fonctionne.ÉDITER:
Utiliser les en-têtes de contenu maintenant après avoir lu /codegolf//a/10499/7195 :)
Itératif (117):
Récursif (109):
la source
Rubis (103 caractères)
la source
.png
à la fin de l'URL.Outils Bash / ligne de commande, 72 caractères
Emprunter la technique astucieuse de @ memowe :
Cela permet d'obtenir une boucle continue en se réexécutant dans le même espace de processus.
la source