From 553c9e5740139aefc987178f78ae8edd7c0bf956 Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Mon, 16 May 2022 12:44:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D1=83=20=D0=B8=20=D0=BA=D0=BE=D0=BD=D0=B5=D1=86=20=D0=B0?= =?UTF-8?q?=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- state_machine.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/state_machine.py b/state_machine.py index 25ac671..7ef5bbe 100644 --- a/state_machine.py +++ b/state_machine.py @@ -8,12 +8,16 @@ import random machine = None # Конечный автомат current_state = None # Текущее состояние weather_api_key = None # Ключ для OpenWeatherMap +myName = None # Имя ассистента def init(assistant_name): """Инициализирует конечный автомат""" global machine global current_state global weather_api_key + global myName + + myName = assistant_name with open("weatherApiKey.txt", "r") as key: weather_api_key = key.read() @@ -33,17 +37,21 @@ def init(assistant_name): "добрый вечер": switchToHello, "доброй ночи": switchToHello, "пока": switchToBye, - "до встречи": switchToBye - } + "до встречи": switchToBye, + "перезапуск": switchToReboot, + "завершение работы": turnOff + }, } + switchToHello() + speaker.speak(f"Ассистент {myName} начинает работу") + def work(): """Обрабатывает конечный автомат""" global machine global current_state - speaker.speak(f"Доброго времени суток! Ассистент начинает работу") while(True): word = input().lower() # Пока считаем с клавиатуры предложение # Если ассистент знает такое слово для перехода @@ -132,4 +140,14 @@ def switchToBye(): helloWords = ["Пока", "Удачи", "Я всегда тут, буду ждать"] speaker.speak(random.choice(helloWords)) - return "Начало" \ No newline at end of file + return "Начало" + +# Переход на запрос модуля для перезагрузки и на "Начало": +def switchToReboot(): + init(myName) + + return "Начало" + +# Завершение работы +def turnOff(): + raise SystemExit \ No newline at end of file