2017-11-26 14 views
-3

次のコードを実行すると構文エラーが発生します。私は研究して、構文エラーが私が知っている理由なしに発生します。構文エラーがある:ファイル「のsrc/cloudspeech_demo.py」、49行のelif「繰り返し私の後に」テキストで: TabError:インデントのタブとスペースの一貫性のない使用^Googleのaiy音声キットコードで不明な構文エラー

ここでは私のコードです:

#!/usr/bin/env python3 
# Copyright 2017 Google Inc. 
# 
# Licensed under the Apache License, Version 2.0 (the "License"); 
# you may not use this file except in compliance with the License. 
# You may obtain a copy of the License at 
# 
#  http://www.apache.org/licenses/LICENSE-2.0 
# 
# Unless required by applicable law or agreed to in writing, software 
# distributed under the License is distributed on an "AS IS" BASIS, 
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
# See the License for the specific language governing permissions and 
# limitations under the License. 

"""A demo of the Google CloudSpeech recognizer.""" 

import aiy.audio 
import aiy.cloudspeech 
import aiy.voicehat 


def main(): 
    recognizer = aiy.cloudspeech.get_recognizer() 
    recognizer.expect_phrase('turn off the light') 
    recognizer.expect_phrase('turn on the light') 
    recognizer.expect_phrase('blink') 
    recognizer.expect_phrase('repeat after me') 

    button = aiy.voicehat.get_button() 
    led = aiy.voicehat.get_led() 
    aiy.audio.get_recorder().start() 

    while True: 
     print('Press the button and speak') 
     button.wait_for_press() 
     print('Listening...') 
     text = recognizer.recognize() 
     if text is None: 
      print('Sorry, I did not hear you.') 
     else: 
      print('You said "', text, '"') 
      if 'turn on the light' in text: 
       led.set_state(aiy.voicehat.LED.ON) 
      elif 'turn off the light' in text: 
       led.set_state(aiy.voicehat.LED.OFF) 
      elif 'blink' in text: 
       led.set_state(aiy.voicehat.LED.BLINK) 
      elif 'repeat after me' in text: 
       to_repeat = text.replace('repeat after me', '', 1) 
       aiy.audio.say(to_repeat) 
      elif 'goodbye' in text: 
       break 


if __name__ == '__main__': 
    main() 

このエラーを修正するために必要なことを教えてください。

to_repeat = text.replace('repeat after me', '', 1) 

+2

あなたは一括弧のためにSOに来ましたか? –

+0

... –

+0

私はそれを修正しましたが、それを実行すると、同じ構文エラーが返されます:ファイル "src/cloudspeech_demo.py"、行47 elif '私の後で私の後に'テキスト:^ TabError:一貫性のない使用インデントのタブとスペースの使用 –

答えて

0

変更

to_repeat = text.replace9'repeat after me', '', 1) 

誤って、彼らは同じキー上にあるので、理にかなって9代わりの(を、型指定されました。おそらくクリックシフトを忘れていた。

+0

はい私はそれを修正しましたが、それを実行すると、同じ構文エラーが返されます:ファイル "src/cloudspeech_demo.py"、行47 elif「テキストの後ろに繰り返し」: ^ TabError:インデントのタブとスペースの一貫性のない使用 –

+0

私のためではありません –

関連する問題