我是Python和Raspberry Pi的新手。我尝试缩短代码并在代码中使用for
循环来重复部分,例如将所有引脚更改为高和低。
我尝试使用for
循环来访问引脚。这甚至可能吗?
import RPi.GPIO as GPIO
from time import sleep
R1=22
R2=10
R3=9
R4=11
GPIO.setup(R1, GPIO.OUT)
GPIO.setup(R2, GPIO.OUT)
GPIO.setup(R3, GPIO.OUT)
GPIO.setup(R4, GPIO.OUT)
for x in range(1, 5):
print "We're on time %d" % (x)
GPIO.output(R + %d % (x), GPIO.HIGH)
sleep(1)
GPIO.output(R + %d % (x), GPIO.LOW)
sleep(1)
GPIO.cleanup()
答案 0 :(得分:0)
这种事情是可能的,但通常更好地使用list
或dict
:
pins = [22, 10, 9, 11]
for pin in pins:
GPIO.setup(pin, GPIO.OUT)
for x in range(1, 5):
GPIO.output(pins[x], GPIO.HIGH)
sleep(1)
GPIO.output(pins[x], GPIO.LOW)
sleep(1)
答案 1 :(得分:0)
您无法像这样创建变量名称。您必须具有相同的变量名称并更改其指向的内容:
pins = [R1, R2, R3, R4]
for pin in pins:
GPIO.setup(pin, GPIO.OUT)
for pin in pins:
GPIO.output(pin, GPIO.HIGH)
sleep(1)
GPIO.output(pin, GPIO.LOW)
sleep(1)