While working on some code for an 16×2 LCD display on my Raspberry Pi I wanted a way to rotate a text string in a specified direction and by a specified number of characters. The idea was to use it to scroll text across the screen.
To do this I created the function below. It takes a text string and rotates the characters based on the specified arguments. For basic use you only need to feed it a text string. This can be any length.
Here is the code. It includes a function definition followed by three examples of its use.
def RotateMe(text,mode=0,steps=1): # Takes a text string and rotates # the characters by the number of steps. # mode=0 rotate right # mode=1 rotate left length=len(text) for step in range(steps): # repeat for required steps if mode==0: # rotate right text=text[length-1] + text[0:length-1] else: # rotate left text=text[1:length] + text[0] return text # Rotate right 3 characters message=RotateMe("how2code",0,3) print message # Rotate left 2 characters message=RotateMe("how2code",1,2) print message # Rotate using defaults message=RotateMe("how2code") print message
The function RotateMe accepts three arguments.
- text is the string of characters.
- mode determines the direction of the rotate. 0 for right and 1 for left. If you don’t specify a value it defaults to 0.
- steps determines the number of characters to rotate. If you don’t specify a value it defaults to 1.
When you run it you should see the output :
odehow2c w2codeho ehow2cod