How To Rotate The Characters In A Text String Using Python

0

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
Share.

Leave A Reply