Задать вопрос
@imjabka

Как исправить ошибку в сравнении ответа пользователя в телеграм боте?

мне нужно чтобы бот отвечал правильно ли решен пример. т.е. сначала он генерирует пример на выбранную тему, а потом должен сравнить ответ пользователя и исходный. в самом первом примере бот отвечает корректно, при последующих он запоминает как правильный ответ тот что был в прошлом примере. я не понимаю как исправить эту ошибку

вот часть кода:

elif call.data == 'addition':
a=random.randint(1,50)
b=random.randint(1,50)
bot.send_message(call.message.chat.id, f'Пример сложения: {a} + {b} = ? \nВедите ваш ответ')
@bot.message_handler(func=lambda message: True)
def check_number(message):
try:
user_input = int(message.text)
if user_input == (a+b):
bot.send_message(message.chat.id, f"Поздравляю, ответ правильный! \n{a} + {b} = {a+b}. ваш ответ {user_input}",reply_markup=keyboard)
else:
bot.send_message(message.chat.id, f"Ответ неверный! \nПравильный ответ {a+b} \nваш ответ {user_input}",reply_markup=keyboard)
except ValueError:
bot.send_message(message.chat.id, "Вы ввели некорректное число")

keyboard = types.InlineKeyboardMarkup(row_width=1)
item1 = types.InlineKeyboardButton('Ещё пример', callback_data='err')
itemN = types.InlineKeyboardButton('Выбрать другую тему', callback_data='theme')
keyboard.add(item1, itemN)
  • Вопрос задан
  • 19 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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