Python
Как запретить пользователю ввод букв или цифр в python
Мне нужно чтобы при вводе данных пользователь просто не мог ввести буквы или цифры (без "данные введены неправильно попробуйте ещё раз")
В питоне так нельзя. Ты можешь сделать переменную-накопитель, в которую добавлять символы, если они тебе подходят
Виктор Соколов
жаль (
Я не очень хорошо знаю Питон. Есть ли в нем функции консольного ввода символа без подтвержения ввода 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 ;
}
На Си это просто
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
Здесь есть сразу несколько проблем:
1. Не видно, что вводит пользователь. Хотя если убрать end='', то всё будет видно, хоть и каждый символ с новой строки.
2. Всё это не работает с русскими символами. Ну, то есть они выводятся в подобном виде - \xaf
Тут на подобное ответ никто не даст советую другие форумы stackoverflow например
Похожие вопросы
- Как разделить число на цифры в Python, используя только арифметические действия?
- Python, пользователь вводит три числа. Найдите среднее арифметическое этих чисел.
- Реализовать запрос на на отправку копии сообщения пользователю, который отправил его боту. python
- Задача по Python: Найти сумму чисел и при вводе чисел...
- Помогите с информатикой Задание сделать через ввод массива и for i in range() Python
- Файловый ввод и вывод, информатика. PYTHON/
- Окончил курсы на степике по Python что делать дальше?
- Python программирование. Помогите написать программу.
- Нейронные сети на Python 3.4
- Помогите с программой на Python. Сколько существует десятичных трёхзначных чисел, в которых только одна цифра кратна 3?