Почему в командной строке не правильный вывод?

Вот ситуация: В командной строке Windows 10

при вводе команды:

>>> for i in [1, 2, 3]:
...     print(i, end = ' ')

Выводит : 3

Вместо : 1 2 3

В IDLE(Python) и PyCharm все выводит правильно.

Как я понял, end() заменяет не только \n , но и все что находится до 3. Проблема появляется только в интерактивном сеансе Python в командной строке Windows (10).

Это командная строка: командная строка

Это IDLE: введите сюда описание изображения

Это PyCharm:введите сюда описание изображения


Ответы (2 шт):

Автор решения: rotabor

"Как я понял, end() заменяет не только /n , но и все что находится до 3" - это полная дичь. Проблема в другом. Я скопировал текст

for i in [1, 2, 3]:
  print(i, end = ' ')

из текстового редактора и вставил его в командную строку, получил

введите сюда описание изображения

В общем, нужно правильно вводить программу в интерпретатор командной строки.

ОБНОВЛЕНИЕ

Хотя, работает ИКС криво. Я например, ввёл всё в одной строке через Ctrl+L, и оно работает без отступа перед print:

введите сюда описание изображения

→ Ссылка
Автор решения: CrazyElf

Похоже у вас промпт питона >>> затирает вывод, в конце которого не было перевода строки \n:

1 2 3 <- что должно быть
>>> 3 <- что наблюдается

Не знаю, это прикол именно питона версии 1.13.1 или чей, но выглядит именно так. Потому что промпт должен быть справа от вывода, а у вас он слева. Возможно, интерактивный питон 1.13.1 делает почему-то "возврат каретки" \r перед выводом промпта. Я в своём более старом питоне такого не наблюдаю, у меня сначала идёт вывод, а потом промпт:

1 2 3 >>>
→ Ссылка