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
