I adjusted the numbers a bit:
print '%3d %7d' % (i, square(i))
The numbers 3 and 7 that follow the percentage sign I believe mean to tell the compiler to right justify the number in a field width of 3 character postions, and the next number would be right justified in a field width of 7 character positions. But when I count the number of character positions from the first number to where the second number(under the Square column)is located, no way is that just 7. It's gotta be more than that.