2013-11-03 35 views
0

好吧,所以最近已經給了Raspberry Pi修補,所以在玩之後;安裝XBMC,安裝Quake 3競技場 - 我想我可能會開始製作LED閃光燈。「時間」無效的語法Python

所以我把它全部設置好;翻了LED上,然後以爲我會採取進一步使之閃爍所以下面的代碼是

import RPi.GPIO as GPIO 
    import time 
    def blink(pin): 
    GPIO.output(pin,GPIO.HIGH 
    time.sleep(1) 
    GPIO.output(pin,GPIO.LOW) 
    time.sleep(1) 
      return 
     GPIO.setmode(GPIO.BOARD) 
     GPIO.setup(7, GPIO.OUT) 
     for i in range(0,50): 
      blink(7) 
      GPIO.cleanup() 

所以,當我去跑這個它關閉,「無效語法」說着,指向詞時間,所以第5行「time.sleep(1)」突出顯示單詞「time」。我認爲這可能是一個普遍的問題,所以在谷歌上看,我什麼也找不到。有人有主意嗎?也許我忘了安裝一個軟件包;如果是的話哪一個?

非常感謝,

回答

3

我認爲問題是,你不關閉就行了你的括號:

GPIO.output(pin,GPIO.HIGH 

時間將被突出顯示爲錯誤的解釋器會期望這仍然是前一個語句的參數列表的一部分。

+1

正是如此。你打敗了我,朋友。這就是爲什麼在編寫代碼時使用空格非常重要:更好的可讀性意味着更容易發現類錯誤,比如這種錯誤。 –

2

你忘了在第四行右括號:

GPIO.output(pin,GPIO.HIGH 

必須是:

GPIO.output(pin,GPIO.HIGH) 

您的代碼,用正確的縮進:

import RPi.GPIO as GPIO 
import time 
def blink(pin): 
    GPIO.output(pin,GPIO.HIGH) 
    time.sleep(1) 
    GPIO.output(pin,GPIO.LOW) 
    time.sleep(1) 
    return 

if __name__ == "__main__": 
    GPIO.setmode(GPIO.BOARD) 
    GPIO.setup(7, GPIO.OUT) 
    for i in range(0,50): 
     blink(7) 
     GPIO.cleanup()