Привет! Круто, что ты начинаешь изучать программирование! Твой код выглядит очень хорошо для новичка.
Вот несколько замечаний, которые помогут сделать его еще лучше:
1. Улучшение обработки команд:
Более точная обработка: Сейчас твой код просто проверяет, есть ли в команде определенные слова. Можно добавить более точную обработку, например, с помощью регулярных выражений, чтобы различать команды "увеличить громкость на 10" и "увеличить громкость".
Управление состоянием: Сейчас твой код не запоминает, включена ли музыка или нет. Можно добавить переменную, которая будет хранить это состояние, чтобы правильно обрабатывать команды "включить" и "выключить".
Обработка ошибок: Сейчас твой код просто выводит сообщение "Команда не распознана", если команда не соответствует ни одной из условий. Можно добавить более подробные сообщения об ошибках, чтобы пользователю было легче понять, что не так.
2. Дополнительные возможности:
Больше команд: Можно добавить больше команд, например, для управления браузером, запуска других программ, поиска информации в интернете.
Использование API: Можно использовать API для доступа к различным сервисам, например, для получения погоды, новостей, курсов валют.
Графический интерфейс: Можно добавить графический интерфейс, чтобы сделать программу более удобной в использовании.
3. Стиль кода:
Индексация: Можно добавить индексацию в начале каждой строки кода, чтобы сделать его более читаемым.
Отступы: Убедись, что отступы в коде сделаны правильно, чтобы код был более структурированным.
Комментарии: Добавь комментарии в код, чтобы объяснить, что делает каждая строка.
Пример улучшенного кода:
import os
import speech_recognition as sr
import pyttsx3
import pyautogui
def speak(text):
engine = pyttsx3.init()
engine.say(text)
engine.runAndWait()
def listen():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
audio = recognizer.listen(source)
try:
command = recognizer.recognize_google(audio, language="ru-RU")
print(f"You said: {command}")
return command.lower()
except sr.UnknownValueError:
return "Не удалось распознать речь"
except sr.RequestError:
return "Ошибка сервиса"
def execute_command(command):
# Обработка команды "громкость"
if "громкость" in command:
if "увеличить" in command:
pyautogui.press("volumeup")
speak("Громкость увеличена")
elif "уменьшить" in command:
pyautogui.press("volumedown")
speak("Громкость уменьшена")
# Обработка команды "музыка"
elif "музыка" in command:
if "включить" in command:
os.system("start wmplayer")
speak("Музыка включена")
elif "выключить" in command:
os.system("taskkill /im wmplayer.exe")
speak("Музыка выключена")
# Обработка команды "открыть блокнот"
elif "открыть блокнот" in command:
os.system("notepad")
speak("Блокнот открыт")
else:
speak("Команда не распознана")
if __name__ == "__main__":
speak("Привет! Чем могу помочь?")
while True:
command = listen()
execute_command(command)
import speech_recognition as sr
import pyttsx3
import pyautogui
def speak(text):
engine = pyttsx3.init()
engine.say(text)
engine.runAndWait()
def listen():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
audio = recognizer.listen(source)
try:
command = recognizer.recognize_google(audio, language="ru-RU")
print(f"You said: {command}")
return command.lower() # Приводим к нижнему регистру для удобства обработки
except sr.UnknownValueError:
return "Не удалось распознать речь"
except sr.RequestError:
return "Ошибка сервиса"
def execute_command(command):
if "громкость" in command:
if "увеличить" in command:
pyautogui.press ("volumeup")
speak("Громкость увеличена")
elif "уменьшить" in command:
pyautogui.press ("volumedown")
speak("Громкость уменьшена")
elif "музыка" in command:
if "включить" in command:
os.system("start wmplayer")
speak("Музыка включена")
elif "выключить" in command:
os.system("taskkill /im wmplayer.exe")
speak("Музыка выключена")
elif "открыть блокнот" in command:
os.system("notepad")
speak("Блокнот открыт")
else:
speak("Команда не распознана")
if __name__ == "__main__":
speak("Привет! Чем могу помочь?")
while True:
command = listen()
execute_command(command)