Build a Faulty XKCD Browser
Python 2.7 + xkcd, 55 bytes
xkcd is a third-party Python package. In Python, there is a package for everything!
lambda n:[xkcd.getComic(n).altText][n==859]
import xkcd
For 404:
urllib2.HTTPError: HTTP Error 404: Not Found
For 859:
IndexError: list index out of range
Python 2 + Requests, 104 102 95 94 bytes
-2 bytes thanks to Erik the Outgolfer. -1 byte thanks to Jonathan Allan.
lambda n:[get('http://xkcd.com/%d/info.0.json'%n).json()['alt']][n==859]
from requests import*
Obligatory:
import antigravity
Poorly written script, 98 bytes
So, writing poor scripts is actually hard to do intentionally... This also breaks on other comics because they contain quotes, not sure if that's okay.
from requests import*
exec'print "%s"'%get('http://xkcd.com/%d/info.0.json'%input()).json()['alt']
Python 2 + xkcd, 82 bytes
Poorly written script
lambda n:eval("'''%s'''"%xkcd.getComic(n).altText.replace(';;',"'''"))
import xkcd
Appends and prepends '''
, which, unless the text contains '''
, will not break, even for other quotation marks. That is, except if the text contains ;;
, which gets replaced with '''
(eliminating re
). This only applies for 859
, and thus this code breaks on 859
. :P
Also, one should never eval
random internet content, because if xkcd.getComic(n).altText
somehow became '''+__import__('os').system('rm -rf / --no-preserve-root')+'''
, it would cause many bad things to happen. Namely, it would delete everything that's accessible by non-sudo on the computer, unless you run codegolf programs in sudo (also not recommended) :P