python 上的语法无效

invalid syntax on python

使用我的 raspi booth,我得到了一个烦人的语法

`#!/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

我是编码新手

你在 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')

所以有一些问题。评论没有意义。您希望引脚 40 是输入还是输出?

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

如果你真的希望它成为一个输出,它应该是:

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

下一行没有打开 pin 40。它读取 pin 40 和 returns 0 或 1。如果不将其分配给变量,return 值将丢失.

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/