Output from sys.stdout in interactive mode
Question: I tested sys.stdout.write in interactive mode; why do I get the 'extra' 1 and
2 suffixed to the numbers? If I run the code from a file I get the expected
output (1234...) Python 3.3 on a Windows machine

    
    
    >>> import sys
    >>> for i in range(15):
    ...     sys.stdout.write(str(i))
    ...
    01
    11
    21
    31
    41
    51
    61
    71
    81
    91
    102
    112
    122
    132
    142
    >>>
    


Answer: Python is _also_ echoing the return value of `sys.stdout.write()` call, which
is the number of bytes written:

    
    
    >>> import sys
    >>> written = sys.stdout.write('10')
    10>>> written
    2
    

Here the next prompt follows the `'10'` written without a newline.

Or, as a different way of demoing, writting 0 bytes in a loop prints `0` that
many times:

    
    
    >>> for i in range(3):
    ...     sys.stdout.write('')
    ... 
    0
    0
    0
    

