@ProooNoob

Как сделать проверку пользовательского ввода?

Всех приветствую! Подскажите, как сделать проверку пользовательского ввода через базу данных SQLite. Необходимо, чтобы пользователь ввел число, которое есть в базе данных в определенной строке и выполнились определенные действия. Покажу на примере кода:
def onetwofre(message):
    try:
        line_number = message.text
        check = cursor.execute('SELECT * FROM Table_table WHERE line_number=?', (line_number, )).fetchone()
        if (message.text.isdigit()) and : # Вот тут застрял, какое условие необходимо поставить?
                bot.send_message(message.chat.id, 'Именно этот номер и нужен, вы отправили число, которое есть в таблице')
        if (message.text.isdigit()) and (check is None):
                bot.send_message(message.chat.id, 'Вы отправили число, которого нет в таблице')
        else:
            bot.send_message(message.chat.id, 'Вы отправили что угодно, но не число.')
    except Exception as e:
        bot.send_message(message.chat.id, 'Ошибка')


Если пользователь вводит номер, который есть в таблице, то fetchone возвращает всю строку. Можно ли как-то сделать, чтобы возвращалось True или если возвращается какое-то значение, то выполнялось бы первое условие?

Если пользователь вводит число, которого нет в таблице, то fetchone возвращает None, что соответствует условию и цикл срабатывает.

Если пользователь вводит текст или что-то другое, срабатывает третье условие.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
if (message.text.isdigit()) and check:
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы