我今年12岁,正在从事我的科学博览会项目。每天都有1000个包裹被偷,所以为了我的科学博览会项目,我正在建造一个在人们的门廊上的东西。它检测到一个包裹,当这个包裹在未经核实的情况下被取走时,它会发出非常响亮的嗡嗡声,并拍下窃贼的照片。我正在raspberry pi上用python 3编写代码。我以前从未用python编写过代码,但我知道c、html和css。我还没有添加验证部分,但它最终会在代码中的某个位置,如果输入pin,它将将引脚值更改为0或1。**我的代码给了我这个错误:
if pin == 1
^
SyntaxError: invalid syntax**
from Bluetin_Echo import Echo
import RPi.GPIO as GPIO
import time
import nexmo
import picamera
GPIO.setup(40,GPIO.OUT)
pin = 1
TRIGGER_PIN = 38
ECHO_PIN = 36
result = echo.read('in')
alarm = 40
speed_of_sound = 315
echo = Echo(TRIGGER_PIN, ECHO_PIN, speed_of_sound)
if pin == 1
if result < '5'
if result >= '10'
GPIO.output(14, 1)
<code>发布于 2019-01-25 22:39:48
在Python中,由于在声明块时没有括号,所以我们依赖于缩进和标点符号。:符号用于在if、while、for、def和class语句的情况下启动一组缩进语句。
if expression:
# something
pass
while expression:
# something
pass
for x in sequence:
# something
pass
def fct():
# something
pass(pass是一个空操作,它什么也不做;在您的代码最终会去的地方很有用,但还没有编写)
因此,您的代码实际上应该是:
if pin == 1:
if result < '5':
if result >= '10':
GPIO.output(14, 1)此外,要注意:
result与'5‘和'10’作为字符串而不是数字进行比较;我并不是说这真的是一个错误,但您确定这些不应该是数字吗?GPIO.output(14, 1)的界限。您检查result小于5,但之后大于10,这是不可能的。由于您是Python的初学者,我建议您在文档中搜索您所遇到的困难。在不同的网站(如CodeAcademy或w3schools )上也有关于Python的很好的教程。
我还建议您在项目中使用IDE,它支持Python。大多数情况下,他们会指出在执行代码之前所犯的语法错误。我的项目使用Pycharm (您可以免费下载Community )。您也可以设置崇高文本3,原子,视觉代码或Notepad++与适当的插件,以帮助您。
祝你的项目好运!
https://stackoverflow.com/questions/54373584
复制相似问题