我现在拥有的是下面的循环,它依次点亮24个链中的每个链。在for循环中选择第一个第n个列表项目
while True:
for i in range(24):
pixels = [ (0,0,0) ] * numLEDs
pixels[i] = (100, 100, 100)
client.put_pixels(pixels)
time.sleep(0.02)
我想要的是以前点燃的LED灯保持每次迭代。所以点亮的LED数量每次增加一次。
我想我可以简单地从列表的开头选择第i个项目,如下所示。 但是,这会返回一个“TypeError:'int'对象不可迭代”。
我不是很清楚为什么这不起作用。
while True:
for i in range(24):
pixels = [ (0,0,0) ] * numLEDs
pixels[:i] = (100, 100, 100)
client.put_pixels(pixels)
time.sleep(0.02)
虽然我已经注意到了,有没有更好的方法来定时除了使用time.sleep()之外的这些循环呢?尽管我正在使用线程,但在led模式改变时,睡眠仍会造成一些延迟。
我认为即使你的第一个片段是完美的,除了最初的'像素= [(0,0,0)] * numLEDs'应该位于for循环之前。 – venkatKA
斯蒂芬,我给出了一个答案,理解你想在每个时刻打开两个连续的LED,但现在我不太确定它......如果我误解了你的Q,我很乐意删除我的答:请让我知道。 – gboffi