When I type small integers with a 0 in front into python, they give weird results. Why is this?
>>> 011
9
>>> 0100
64
>>> 027
23
<
Both Python versions 2 & 3 understand octal written with leading '0o' and '0O' (Uppercase o), so be in the habit of using if when working with Python 2.x as well.
Only use leading zeros in numbers in strings.
You can convert integers from any of the other base systems with int().
>>> int(0o20)
16
If you want your output to display with leading zeros, then define it per this answer: Display number with leading zeros
If you ever plan to work with ZIP Codes, it's best to treat them as strings in all ways.