2017-02-22 14 views
0

Я ученик средней школы в Корее.Почему Python IDLE Print вместо Backspace?

При программировании на python я хочу реализовать «ghost typing», поэтому я написал этот код на python IDLE.

for i in range(5): 
    print(i+1, end='') 
    time.sleep(0.05) 
    print('\b', end='') 

Но отображается:

12345 

Image - This char() isn't displayed here.

Так интересно, почему питон IDLE печати '', и что я должен сделать, чтобы напечатать 'забой' нормально?

Это в python 3.5.3 (с окнами 10), 3.6.0 (с окнами 7).

p.s. Этот код в консоли python, ничего не печатает.

ответ

0

IDLE не поддерживает символов забоя,

Нет, IDLE не поддерживает забой, ни возврат каретки, ни прогон страницы, ни управляющие последовательности ANSI.

Ожидается, что \ b переместит курсор на одну ячейку влево в интерактивном окне оболочки IDLE. Это не так. IDLE не поддерживает адресацию курсора в своем окне оболочки, за исключением новой строки и табуляции.

source

Кроме того, вы используете range() но тогда вы прибавлением к i. Вы можете упростить его, указав начальный и конечный диапазоны, range(1, 6), чтобы он выдавал 1,2,3,4,5.

+0

Нет, я думаю, что они ищут символ '' \ b'', чтобы стереть один символ, а не '' \ r'', чтобы стереть всю строку, ни одна из которых не работает в IDLE. – TigerhawkT3

+0

@ TigerhawkT3 совершенно прав, я отредактировал свой ответ. – TankorSmash

+0

Спасибо, но я хочу стереть только один символ, а символ '\ r' также не может отображаться нормально. Он печатается как отметка «восьмая нота». –