Python

Как запретить пользователю ввод букв или цифр в python

Мне нужно чтобы при вводе данных пользователь просто не мог ввести буквы или цифры (без "данные введены неправильно попробуйте ещё раз")
В питоне так нельзя. Ты можешь сделать переменную-накопитель, в которую добавлять символы, если они тебе подходят
РН
Руслан Нигматуллин
2 226
Лучший ответ
Я не очень хорошо знаю Питон. Есть ли в нем функции консольного ввода символа без подтвержения ввода Enter? Должны быть. Как-то же игрушки пишутся и программа реагирует на нажатие тех же стрелок...
На Си это просто
do c = geth() ;
while( (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' c <= 'z') || (c >= 'A' && c <= 'Я') || (c >= 'а' && c <= 'я')) ; // если цифры или буквы - ничего не делаем и ждем дальнейшего нажатия клавиши клавки
putcnar(c) ; // При этом нажатые клавиши не будут отображаться на экране, поэтому если нажат разрешенный символ, то его нужно будет вывести на экран

Так что можно написать функцию для такого ввода вместо стандартной
char get_char()
{
char c ;
do c = geth() ;
while( (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' c <= 'z') || (c >= 'A' && c <= 'Я') || (c >= 'а' && c <= 'я')) ;
putcnar(c) ;
return c ;
}
Николай Леоненко Конечно в питоне можно сделать чтение клавиш без нажатия Enter. Библиотека keyboard автору вопроса в помощь
Что-то такое у меня получилось - https://pastebin.com/nfmqsNeG
Здесь есть сразу несколько проблем:
1. Не видно, что вводит пользователь. Хотя если убрать end='', то всё будет видно, хоть и каждый символ с новой строки.
2. Всё это не работает с русскими символами. Ну, то есть они выводятся в подобном виде - \xaf
Тут на подобное ответ никто не даст советую другие форумы stackoverflow например
М!
Максим !!!
1 308