В Python, поскольку при объявлении блока нет скобок, мы полагаемся на отступ и пунктуацию. Символ :
используется для запуска набора отступов в операторах if, while, for, def и операторов класса.
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, я рекомендую вам найти в документации то, с чем вы боретесь. Есть также хорошие учебники по Python на разных сайтах, таких как CodeAcademy или w3schools .
Я также рекомендую вам использовать IDE для своих проектов, поддерживающую Python. Большую часть времени они будут указывать на синтаксические ошибки, которые вы делаете перед выполнением кода. Я использую Pycharm для своих проектов (вы можете скачать версию для сообщества бесплатно). Вы также можете настроить Sublime Text 3, Atom, Visual Code или Notepad ++ с помощью соответствующих плагинов, которые помогут вам.
Удачи в вашем проекте!