2015-01-27 5 views
-2

стенд с моим raspi и им получать 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 

им кодирование новичку

+1

Вы пропускаете ')' на этой линии, и синтаксис выглядит странно в любом случае. Вы пытаетесь проверить, равен ли он 100? – 101

ответ

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? 

Примечание t Шрифты Python if заканчиваются в двоеточии и не требуют скобок вокруг сравнения.

Вы можете проверить: http://sourceforge.net/p/raspberry-gpio-python/wiki/Examples/

+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') 
+0

Я попробовал ваш код, и он сказал ./gid.py: 1: ./gid.py: Синтаксическая ошибка: слово неожиданное (ожидающее ")") –

+0

Используете ли вы Python3.x или Python2.x, plz? –

+0

no idea im using мои папы старый компьютер для проекта науки –

Смежные вопросы