我的raspi的摊位,我得到一个恼人的语法
`#!/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
我是编码新手
答案 0 :(得分: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')
答案 1 :(得分: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/