On 11/2/2017 6:10 AM, Steve D'Aprano wrote:
Occasionally it is useful to loop over a bunch of stuff in the interactive
interpreter, printing them as you go on a single line:
for x in something():
print(x, end='')
If you do that, the prompt overwrites your output, and you get a mess:
py> for x in "abcdefgh":
... print(x, end='')
...
py> efghpy>
This seems like a bug in how Python interacts with your console. On
Windows, in Python started from an icon or in Command Prompt:
>>> for c in 'abc': print(c, end='')
...
abc>>>
IDLE adds \n if needed, so prompts always starts on a fresh line.
>>> for x in 'abcdefgh':
print(x, end='')
abcdefgh
>>>
"For ... else" to the rescue!
py> for char in "abcdefgh":
... print(char, end='')
... else:
... print()
...
abcdefgh
py>
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list