Python帮助使用for循环来改变x

Kha*_*esi 2 python for-loop raspberry-pi

首先,今天是我第一次使用Python.15年前我使用Perl,非常生疏,但渴望学习.我正在尝试将以下行转换为for循环,使用x增加ONrelay(所以ONrelay0,ONrelay1,ONrelay3等):

cpi6x.setbit(board1, cpi6x.ONrelay0)
time.sleep(.300)
cpi6x.setbit(board1, cpi6x.ONrelay1)
time.sleep(.300)
cpi6x.setbit(board1, cpi6x.ONrelay2)
time.sleep(.300)
cpi6x.setbit(board1, cpi6x.ONrelay3)
time.sleep(.300)
cpi6x.setbit(board1, cpi6x.ONrelay4)
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容,但毫不奇怪它不起作用.

for x in range(0, 5):
    cpi6x.setbit(board1, cpi6x.ONrelay%d) % (x)
    time.sleep(.300)
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!

Iro*_*ist 5

这不会起作用,因为ONrelay不是字符串,而是实例属性,getattr而是使用:

for i in range(5):
    obj = getattr(cpi6x, 'ONrelay{}'.format(i))
    cpi6x.setbit(board1, obj)
    time.sleep(.300)
Run Code Online (Sandbox Code Playgroud)