如果工作正常但 elif 抛出错误
if is working properly but elif throws an error
我正在编写 python 代码(已提供);
但是当我说 'open photos' 时一切正常并且它识别出我说的是 'open photos' 但抛出 except 语句而不是 'elif listen() == "open photos": output'。请帮助我。
import speech_recognition as sr
import pyttsx3
import time
friday = pyttsx3.init('sapi5')
r = sr.Recognizer()
mic = sr.Microphone()
friday.setProperty('rate', 150)
def listen():
with mic as source:
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
try:
text = r.recognize_google(audio)
print(text)
return text
except sr.UnknownValueError:
friday.say("sorry sir , could't do that")
friday.runAndWait()
print("started!")
while 1:
if listen() == "hello Jarvis":
friday.say("hello sir")
friday.runAndWait()
elif listen() == "open photos":
friday.say("opening")
friday.runAndWait()
我认为你需要的是更好的关注。 listen
将消耗输入;第二次调用它会迫使你重复这个短语。相反,第一次注意。 :-)
heard = listen()
if heard == "hello Jarvis":
friday.say("hello sir")
friday.runAndWait()
elif heard == "open photos":
friday.say("opening")
friday.runAndWait()
请注意,如果缩进一致,您的代码将更易于阅读:处于同一处理级别的代码,即使在独立块之间,也应缩进到同一级别。
我正在编写 python 代码(已提供); 但是当我说 'open photos' 时一切正常并且它识别出我说的是 'open photos' 但抛出 except 语句而不是 'elif listen() == "open photos": output'。请帮助我。
import speech_recognition as sr
import pyttsx3
import time
friday = pyttsx3.init('sapi5')
r = sr.Recognizer()
mic = sr.Microphone()
friday.setProperty('rate', 150)
def listen():
with mic as source:
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
try:
text = r.recognize_google(audio)
print(text)
return text
except sr.UnknownValueError:
friday.say("sorry sir , could't do that")
friday.runAndWait()
print("started!")
while 1:
if listen() == "hello Jarvis":
friday.say("hello sir")
friday.runAndWait()
elif listen() == "open photos":
friday.say("opening")
friday.runAndWait()
我认为你需要的是更好的关注。 listen
将消耗输入;第二次调用它会迫使你重复这个短语。相反,第一次注意。 :-)
heard = listen()
if heard == "hello Jarvis":
friday.say("hello sir")
friday.runAndWait()
elif heard == "open photos":
friday.say("opening")
friday.runAndWait()
请注意,如果缩进一致,您的代码将更易于阅读:处于同一处理级别的代码,即使在独立块之间,也应缩进到同一级别。