Как напечатать () вывод на предыдущую строку после ввода - PullRequest
0 голосов
/ 27 августа 2018
for i in range(1, 10):
    print('temp {}: '.format(i), end = '')
    temp = float(input(''))
    print(' Celsius = {} Fahrenheit'.format(9 / 5 * temp + 32))

вывод:

temp 1: 0
Celsius = 32 Fahrenheit
temp 2: 5
Celsius = 41 Fahrenheit

Я хочу напечатать 'Celsius = ...' в предыдущей строке.

Я хочу вывести:

temp 1: 0 Celsius = 32 Fahrenheit
temp 2: 5 Celsius = 41 Fahrenheit

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Я верю в Python 2.x, вы можете использовать:

print('temp {}: '.format(i), end = ''),

То, что , после первой печати выполнит эту работу, но если вы используете python 3. Я предлагаю вам увидеть это:

Вывести новый вывод в той же строке

0 голосов
/ 27 августа 2018

я нашел !!! Использование ответа @ nik-k в сообщении Возможно получить пользовательский ввод ... :

Я добавил print('\033[{}C\033[1A'.format(6 + len(str(temp))), end = '') перед последней строкой. '\033[{} (6 для перехода к предыдущей строке и len (...) для перемещения курсора вперед) C\033[1A'

for i in range(1, 10):
    print('temp {}: '.format(i), end = '')
    temp = float(input(''))
    print('\033[{}C\033[1A'.format(6 + len(str(temp))), end = '')
    print(' Celsius = {} Fahrenheit'.format(9 / 5 * temp + 32))
0 голосов
/ 27 августа 2018

Для использования input() необходимо нажать Enter, что добавит новую строку. Я бы обошел это, сначала введя температуру, и только потом напечатав всю строку x C = y F.

...