Imgur - это бесплатный хостинг изображений. Многие люди используют это. Вот пример ссылки на imgur: http://i.imgur.com/T55muMD.png . Напишите программу, которая постоянно выводит случайные (действительные) imgur ссылки. Например, вот пример выходных данных моей программы (не показан, потому что она содержит некоторые трюки, которые вам придется выяснить самостоятельно):
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
Полезные подсказки:
- Когда imgur был новым, использовались 5-буквенные ссылки.
- Когда imgur был новым, числа не использовались.
- Вы можете использовать это в своих интересах: найдите только 5-буквенные изображения ссылок только с буквами. Это то, что делает моя программа.
- Также все изображения сохраняются как
.png
.
Требования:
- Постоянно выводить случайные ссылки imgur
- Ссылки считаются достаточно «случайными», если 50 выводятся без повторов
- При посещении ссылки должны быть изображением
- Ссылки должны начинаться с
http://i.imgur.com/
и заканчиваться.png
- Оценка - это количество символов
Я сделал это на Яве (УЖАСНО для игры в гольф) за 452 символа. Здесь не показано, потому что он содержит некоторые хитрости, которые вам придется выяснить самостоятельно!)
Ответы:
PHP 5.4, 76 символов
URL генерируются в последовательном порядке, используя только заглавные буквы и никогда не повторяются, в соответствии с буквой спецификации.
источник
Perl (93 + 4 = 97)
Использование собственного случайного механизма imgur для получения URL-адресов их изображений, которые в большинстве случаев не являются URL-адресами png:
(Вам нужен Mojolicious для этого.)
источник
HTML (152)
Это регистрирует все найденные изображения на консоли JavaScript, используя
console.log()
. Работает во всех протестированных браузерах (Firefox, Chrome, IE9, Safari и Opera).Самое интересное, что всевозможные забавные картинки вспыхивают на мгновение ока :).
Попробуй! (jsFiddle превращает это в более полную HTML-страницу, но браузеры также принимают один элемент.)
Опора на удивительный метод случайных строк по Doubletap !
Где я могу увидеть консоль JavaScript и зарегистрированные изображения?
источник
Perl (87)
Поиск изображений с прописными, строчными буквами и цифрами от 0 до любых символов, когда-нибудь.
источник
Математика , 108
Пробел добавлен.
источник
Питон (
174158156)Я хочу более короткие имена модулей в Python. Также более простой способ получения случайных букв. :)
Объяснение:
Оператор модуля в строке - это команда форматирования, в этом случае он заменяет «% s» в строке на 5 случайных заглавных букв
a
, если имя (типstr
) веб-сайта('File'not in urllib.urlopen(a).read())
равно True, когда «Файл» (из «Файл не найден!») это не находится в HTML , в URL. (типbool
)bool
*str
=str
ifbool
= True, поэтому он будет выводиться только в томa
случае, если «Файл» не найден в коде HTML.источник
chr(random.randint(65,90))
'File'
тем, чтобы :)'XXXXX'
а неrange(5)
. Это также имеет то преимущество, что не требует пробелов между ним иin
.Уникальный подход Python.
361355334332322314 символов - немного запутано, ничего сложного. Вас могут предупредить необычно высокая плотность изображений кошек.Выход:
источник
R, 182 символа
источник
Питон, 153 символа
Хотя это работает, это чертовски медленно и может занять много секунд, прежде чем вернуть какой-либо вывод.
Вдохновленный решением @ beary605 - он спас мне кучу символов, так как я планировал проверить изображение по заголовку типа контента.
источник
random.sample
:) Это гораздо лучший способ выбора персонажей.Баш
(129, 121)(117, 109)У меня есть две версии: итеративная и бесконечная рекурсивная (которая медленно пожирает всю память). Обе версии проверяют, присутствует ли файл PNG (файлы jpg, gif и другие типы файлов игнорируются).
Итеративный (старый) (129):
Рекурсивный (старый) (121):
Примечание : может быть проблема совместимости с grep. В моем руководстве по grep говорится, что
-s
вывод grep отключает, но ничего не делает. Однако, используя--quiet
,--silent
или-q
вместо этого работает.РЕДАКТИРОВАТЬ:
Использование заголовков контента теперь после прочтения /codegolf//a/10499/7195 :)
Итеративный (117):
Рекурсивный (109):
источник
Рубин (103 символа)
источник
.png
в конце URL.Bash / инструменты командной строки, 72 символа
Заимствование умной техники @ memowe :
Это обеспечивает непрерывный цикл путем повторного выделения себя в том же пространстве процесса.
источник