Telegram бот не ожидает ответа

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

Что я не так делаю? Подскажите, в чем проблема, люди, что уже знакомы с написанием телеграм ботов? Спасибо.

Вот мой код:

dict = {'Cколько углов у квадрата?': '4', 'Сколько углов у треугольника?': '3', 'Лучший язык программирования для парсинга?': 'Python'}

@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
    for key in dict.keys():
        msg = bot.reply_to(message, key)
    bot.register_next_step_handler(msg, func)


def func(message):
    rightanswer = 0
    wronganswer = 0

    for value in dict.values():
        answer = message.text
        if (answer == value):
            bot.send_message(message.chat.id, 'Да')
            rightanswer += 1
        else:
            bot.send_message(message.chat.id, 'Нет')
            wronganswer += 1
    bot.send_message(message.chat.id,'Верных ответов {} неверных ответов {}'.format(rightanswer, wronganswer))

bot.polling()

Ответы (1 шт):

Автор решения: D. Violet

а если так?

@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
    a = []
    for key in dict.keys():
          a.append(key)
    bot.reply_to(message, a)
→ Ссылка