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

Почему не заканчивается цикл while true?

Делаю голосового помощника и столкнулся с проблемой. Вроде бы я закончил цикл, но все равно функция отвечает много раз.
Код:
def main():
    commands = [greeting, jarvis, browser, vpn, telegram, viber, who_are_you, thank_you, youtube, fortnine, protocol_update, 
    protocol_studies, new_year, chatgpt]

    while True:
        recognized_commands = listen_command()
        command_found = False

        for recognized_command in recognized_commands:
            for command in commands:
                if recognized_command.lower() in command.activation_phrases:
                    command.execute()
                    command.voice_acting()
                    command_found = True
                    break

                elif "какая сегодня дата" in recognized_command.lower():
                    command.date()
                    command_found = True
                    break

                elif "закончи работу" in recognized_command.lower():
                    mus = pyglet.resource.media("Jarvis Sound Pack от Jarvis Desktop/Как пожелаете.wav")
                    mus.play()
                    pyglet.app.exit()
                    time.sleep(1)
                    exit()

                elif "выключи пк" in recognized_command.lower():
                    command.Turn_Off_PC()
                    command_found = True
                    break

                elif "выключи звук" in recognized_command.lower():
                    pyautogui.press("volumemute")
                    command_found = True
                    break

        if not command_found:
            Command.AI(recognized_command)
            break
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
В твоём коде break прервёт цикл for command in commands.
Выполнение внешних двух циклов продолжится.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽