Как обновить строчку в терминале

Anonimus2134

Новичок
Пользователь
Апр 22, 2020
15
0
1
Здравствуйте всем!
number = input('Введите число: ')
while True:
if number == '1':
break
else:
number = input('Повторите попытку: ')
Подскажите как сделать чтобы при неверном значении переменной number, строчка "Повторите попытку:" обновилась то есть заменила "Введите число", а не писалась с новой строки. Желательно без:
import os
os.system('cls')
Так как сотрется весь терминал
P.S Pyton 3.8.0, windows 10
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте через кнопку ... -> код -> python.
Вот пример:
Python:
import msvcrt
import sys


print('Введите число: ', end='')
sys.stdout.flush()

numbers = []
while True:
    x = msvcrt.getch()
    if ord(x) == 13:
        if ''.join(numbers) == '5':
            print('\rВведено правильное число', end='\n')
            break
        else:
            numbers = []
            print('\r', end='')
            print(' ' * 79 + '\r', end='')
            print('Повторите попытку: ', end='')
            sys.stdout.flush()

    else:
        numbers.append(x.decode())
        print(str(x.decode()), end='')
        sys.stdout.flush()
 
  • Мне нравится
Реакции: Anonimus2134

Anonimus2134

Новичок
Пользователь
Апр 22, 2020
15
0
1
Код вставляйте через кнопку ... -> код -> python.
Вот пример:
Python:
import msvcrt
import sys


print('Введите число: ', end='')
sys.stdout.flush()

numbers = []
while True:
    x = msvcrt.getch()
    if ord(x) == 13:
        if ''.join(numbers) == '5':
            print('\rВведено правильное число', end='\n')
            break
        else:
            numbers = []
            print('\r', end='')
            print(' ' * 79 + '\r', end='')
            print('Повторите попытку: ', end='')
            sys.stdout.flush()

    else:
        numbers.append(x.decode())
        print(str(x.decode()), end='')
        sys.stdout.flush()
Спасибо большое все работает! В следующий раз буду вставлять код правильно
 

Форум IT Специалистов