Though the Chicago grid system is regular for the most part, there are a few quirks to it. The first has to do with street numberings on the South Side of the City. Due to (from what I've heard) a mistake during the original re-numbering of the city, the "800 to a mile" rule does not apply between Madison Ave and 31st St. Instead, the streets have been "condensed" so that Roosevelt Rd (1200 S) is one mile south of Madison, Cermak Rd or 22nd St (2200 S) is two miles south of Madison, and 31st St. (3100 S) is three miles south of Madison. Within each mile, streets are spaced relatively evenly, so that Harrison St (600 S) is a half-mile south of Madison, and 17th St (1700 S) is a half-mile south of Roosevelt.
The other confusion about Chicago's grid system has to do with the full names of numbered streets. In certain western suburbs, north-south streets are numbered by their hundred, like streets on Chicago's south side. This can be confusing, until you notice that the suburbs refer to their north-south roadways as "Avenue" (as in the terminus of the Douglas Branch of the Blue Line train at 54th Avenue and Cermak, or 5400 W/2200 S), while the east-west roadways in the city are named "Street" (like the 31st Street, which is 3100 S). If a numbered street has "Place" in its name, it refers to an east-west roadway that runs parallel to the namesake Street, usually about a half-block north or south. So, 50th St is 5000 S while 50th Pl is 5032 S. A numbered "Drive" is the continuation of that same "Street" inside a park (though at times, the Drives may be a half-block off from their namesake "Street"), but other named "Drives" ("King" and "Lake Shore", to give two well-known examples), can also run north-south.
What's the moral of this story? Know the hundreds of the streets you're going to and traveling on. Trying to get from 50th Pl. and Halsted to Broadway and Carmen sounds like a pain, but when you think of it as going from 5032 S/800 W to 1200 W/5100 N, things get a lot easier.