2015-01-27 94 views
-2

展位無效的語法與我raspi和IM​​得到一個anoyying語法對蟒蛇

`#!/usr/bin/python 

print 'ACTIVATED' 

import RPi.GPIO as GPIO ## Import GPIO library 

GPIO.setmode(GPIO.BOARD) ## Use board pin numbering 
GPIO.setup(40, GPIO.IN) ## Setup GPIO Pin 40 to OUT 
GPIO.input(40) ## Turn on GPIO pin 40 
for x in xrange(10): 
if(GPIO.input(40) == 100GPIO.input(40) 
GPIO.input(40) ## Turn on GPIO pin 40 
     print ('CHEESE') 

上面的粗體字部分是問題,這是語法錯誤

File "./gid.py", line 11 
if(GPIO.input(40) == 100GPIO.input(40) 
         ^
SyntaxError: invalid syntax 

IM編碼新手

+1

你缺少一個')'在該行,而且語法看起來很奇怪呢。你想檢查它是否等於100? – 101 2015-01-27 01:41:24

回答

1

所以有幾個問題。評論沒有意義。你希望引腳40是輸入還是輸出?

GPIO.setup(40, GPIO.IN) ## Setup GPIO Pin 40 to OUT 

如果你真的希望它是一個輸出,這也許應該是:

GPIO.setup(40, GPIO.OUT) ## Setup GPIO Pin 40 to OUT 

這下一行不會對銷40把它讀銷40,並返回0或1。如果不將其分配給變量,則返回值會丟失。

GPIO.input(40) ## Turn on GPIO pin 40 

你可能想要的是:

GPIO.output(40,1) ## Turn on GPIO pin 40 

下一行也是一團糟:

if(GPIO.input(40) == 100GPIO.input(40) 
GPIO.input(40) ## Turn on GPIO pin 40 
     print ('CHEESE') 

不知道你真正想要的,但有些事可以工作是:

if GPIO.input(40) == 1: # Read what is currently being output 
    GPIO.output(40,0) # and turn it off if it is on, perhaps? 

注ŧ帽子Python if語句以冒號結尾,並且不需要在比較周圍使用括號。

你可以看看:http://sourceforge.net/p/raspberry-gpio-python/wiki/Examples/

+0

馬克感謝您的解決方案工作 – 2015-01-27 13:08:09

2

您在if後缺少冒號,我認爲你的意思是if input is 100

#!/usr/bin/python 
print('ACTIVATED') 

import RPi.GPIO as GPIO ## Import GPIO library 

GPIO.setmode(GPIO.BOARD) ## Use board pin numbering 
GPIO.setup(40, GPIO.IN) ## Setup GPIO Pin 40 to OUT 
GPIO.input(40) ## Turn on GPIO pin 40 

for x in xrange(10): 
    if GPIO.input(40) == 100: # you're missing a colon in your if statement 
    GPIO.input(40) 
    GPIO.input(40) ## Turn on GPIO pin 40 
    print('CHEESE') 
+0

我試過你的代碼,它說./gid.py:1:./gid.py:語法錯誤:單詞意外(期待「)」) – 2015-01-27 12:59:21

+0

你使用Python3.x或Python2.x,PLZ? – 2015-01-27 13:03:36

+0

用我爸爸的舊計算機的科學項目 – 2015-01-27 13:10:07