endlos Generator
Verfasst: Samstag 19. Dezember 2015, 19:30
Hallo,
Ausgangspunkt: ein String soll als Laufschrift auf einen LCD-Display angezeigt werden, der String ist aber länger als die Zeichenanzahl des Displays. Eine fertige Funktion zum Scrollen von Text gibt es nicht, also selber machen.
Dazu habe ich den folgenden Generator, der endlos einen Slice aus einem String liefert (Code ist Python 2.7):
Das funktioniert auch - nur bin ich nicht sicher, ob das auch nicht eleganter / schöner / kürzer geht. Generatoren sind nicht das, was ich schon oft benutzt hätte...
Gruß, noisefloor
Ausgangspunkt: ein String soll als Laufschrift auf einen LCD-Display angezeigt werden, der String ist aber länger als die Zeichenanzahl des Displays. Eine fertige Funktion zum Scrollen von Text gibt es nicht, also selber machen.
Dazu habe ich den folgenden Generator, der endlos einen Slice aus einem String liefert (Code ist Python 2.7):
Code: Alles auswählen
from time import sleep
def text_slice_yielder(text, length):
text_length = len(text)
diff = text_length - length
counter = -1
while True:
if counter <= diff+1:
counter = counter + 1
yield text[counter:text_length-length+counter]
else:
counter = -1
my_text = 'ABCDEFGHIJ'
slice_length = 6
my_slice = text_slice_yielder(my_text, slice_length)
while True:
print(my_slice.next())
sleep(1)Gruß, noisefloor