我在Raspberry Pi上連接了一個20 * 4的LCD屏幕。有用。如何在循環內暫停?
我有一個代碼,以篩選幾個句子和循環他們
但我找不到暫停各4句和明年4句
這裏之前清除屏幕上正確的方法是實際代碼(編輯,因爲當粘貼我有縮進改變)
def typewriter_like(sentence, lcd_line, delay=0.7):
for i,letter in enumerate(sentence):
lcd_byte(lcd_line, LCD_CMD)
lcd_string(sentence[:i+1],1)
time.sleep(delay)
mots = (("EXAMPLE", "EXAMPLES", "EXAMPLESS", "EXAMPLESSS"),
("ONE", "TWO", "THREE", "FOUR"),
("LULU", "FIFI", "RIRI", "TATA"))
lcds = (0x80, 0xC0, 0x94, 0xD4)
list(zip(mots,lcds))
[(('EXAMPLE', 'EXAMPLES', 'EXAMPLESS', 'EXAMPLESSS'),128),(('ONE', 'TWO', 'THREE','FOUR'),192),(('LULU', 'FIFI', 'RIRI', 'TATA'),148)]
while True:
for mot in mots:
for word, lcd in zip(mot, lcds):
typewriter_like(word, lcd)
time.sleep(10)
for lcd in lcds:
lcd_byte(lcd, LCD_CMD)
lcd_string("",2)
time.sleep(4)
我要的是暫停第4個字...然後刪除之前打印的4個接下來的話
一切(全部清除) 210實施例實施例實施 EXAMPLESS EXAMPLESSS
停留印刷10秒 然後,所有清零
ONE TWO THREE FOUR ...
停留印刷10秒
etc ...
並在最後一個循環... 有人可以幫我嗎?
只需添加那些'time.sleep在正確的上下文()'調用。看起來也許你所需要的只是縮短time.sleep(10)一次,把它放在正確的塊中。同樣w /'time.sleep(4)'。 – 2014-11-20 19:23:05
你在'typewriter_like'中打電話給'typewriter_like(word,lcd)'。那不可能是你想要的。這意味着你將進入第一個循環的第一步,然後自我調用並重新開始。更不用說'lcd'沒有在任何地方定義過,所以它可能是代碼中其他地方的一些全局變量,並且您將第一個'word'作爲新的'句子'傳遞給它。 – abarnert 2014-11-20 19:25:37