我現在擁有的是下面的循環,它依次點亮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