Leet-speak Translator

From WLCS

Objectives:

  • You will create a string translator that converts from regular characters to leetspeak characters
  • You will use while loops to traverse (walk-through) a string
  • You will use if-statements to check for particular letters
  • You will use functions to retrieve the corresponding leetspeak characters

References:

Directions:

  1. Open a new python file and name is leetTranslator.py
  2. Bring up the Leetspeak alphabet
  3. Choose an leetspeak character for each letter of the alphabet
  4. Define a function named getLetter(ch) that takes one parameter. Inside the definition of getLetter(), you will check to see what letter ch is, and then return the corresponding leet character. See the example code below and complete it with the rest of the alphabet
    • If you are returning anything that has a backslash "\", then you need to use two backslashes "\\" instead of just one
    • At the end of the getLetter(ch) function, return ch in case none of the letters matched
def getLetter(ch):
    if ch == "a":
        return "@"
    if ch == "b":
        return "l8"
    # add the rest of your alphabet here
  1. After the function definition, prompt the user to enter a word and store it in a variable named word
  2. Initialize a new variable named newWord to an empty string ""
  3. Write a loop that traverses the word string
    1. Inside the loop, translate the current letter (word[x]) by using the getLetter(word[x]) AND add it to newWord (HINT: you are building the newWord string letter by letter)
  4. After the loop, newWord should contain a translation of every letter. Print out newWord

Advanced Features:

  • Update getLetter() so that it is able to handle spaces and punctuation
  • Convert your program to use a dictionary instead of a function to translate letters
  • Prompt the user for an obfuscation level (0-10), and translate the plain text to leet-speak based on the obfuscation level (HINT: use random a number generator)
  • Can you create a reverse translator? (this is much trickier)