I test the following code:
for i in range(3): for i in range(3,5): print \"inner i: %d\"%(i) print \"outer i: %d\"%(i)
and
Its the same i being used in both loops. When the outer loops gets a chance to print i, it will always have the last assigned value from the inner loop.