samedi 2 mai 2020

IF, ELSE statement doesn't work in Python [duplicate]

So i am making a quiz Bot for Telegram using Python Telebot. I would like to use IF, ELSE statement in " While " statement

   while message.text == str(q7s1.text) or str(q7s2.text) or str(q7s3.text) or str(q7s4.text):
        if message.text == "Провести тест":
            markup = telebot.types.ReplyKeyboardRemove()
            bot.send_message(message.chat.id, "Ну хорошо, поехали!".format(message.from_user, bot.get_me()), reply_markup = markup)
            time.sleep(1.5)
            bot.send_message(message.chat.id, "Группа #1".format(message.from_user, bot.get_me()), reply_markup = q1)
            print (str(q1s1.text))
            break

        elif message.text == str(q1s1.text) or str(q1s2.text) or str(q1s3.text) or str(q1s4.text):
            q1 = telebot.types.ReplyKeyboardRemove()
            time.sleep(1)
            bot.send_message(message.chat.id, "Вы ответили на 1 из 21 вопросов".format(message.from_user, bot.get_me()), reply_markup = q1)
            time.sleep(2)
            bot.send_message(message.chat.id, "Группа #2".format(message.from_user, bot.get_me()), reply_markup = q2)
            break

        elif message.text == str(q2s1.text) or str(q2s2.text) or str(q2s3.text) or str(q2s4.text):
            q2 = telebot.types.ReplyKeyboardRemove()
            time.sleep(1)
            bot.send_message(message.chat.id, "Вы ответили на 2 из 21 вопросов".format(message.from_user, bot.get_me()), reply_markup = q2)
            time.sleep(2)
            bot.send_message(message.chat.id, "Группа #3".format(message.from_user, bot.get_me()), reply_markup = q3)
            break

        elif message.text == str(q3s1.text) or str(q3s2.text) or str(q3s3.text) or str(q3s4.text):
            q3 = telebot.types.ReplyKeyboardRemove()
            time.sleep(1)
            bot.send_message(message.chat.id, "Вы ответили на 3 из 21 вопросов".format(message.from_user, bot.get_me()), reply_markup = q3)
            time.sleep(2)
            bot.send_message(message.chat.id, "Группа #4".format(message.from_user, bot.get_me()), reply_markup = q4)
            break

The first If statement works, when the statement goes to ELIF, it doesnt pass to #3. And just repetes in elif #2. I have no mistakes in q1,q2 options. Hope you will help!

Aucun commentaire:

Enregistrer un commentaire