X Tutup
"""Leetspeak, by Al Sweigart al@inventwithpython.com Translates English messages into l33t5p34]<. This code is available at https://nostarch.com/big-book-small-python-programming Tags: tiny, beginner, word""" import random try: import pyperclip # pyperclip copies text to the clipboard. except ImportError: pass # If pyperclip is not installed, do nothing. It's no big deal. def main(): print('''L3375P34]< (leetspeek) By Al Sweigart al@inventwithpython.com Enter your leet message:''') english = input('> ') print() leetspeak = englishToLeetspeak(english) print(leetspeak) try: # Trying to use pyperclip will raise a NameError exception if # it wasn't imported: pyperclip.copy(leetspeak) print('(Copied leetspeak to clipboard.)') except NameError: pass # Do nothing if pyperclip wasn't installed. def englishToLeetspeak(message): """Convert the English string in message and return leetspeak.""" # Make sure all the keys in `charMapping` are lowercase. charMapping = { 'a': ['4', '@', '/-\\'], 'c': ['('], 'd': ['|)'], 'e': ['3'], 'f': ['ph'], 'h': [']-[', '|-|'], 'i': ['1', '!', '|'], 'k': [']<'], 'o': ['0'], 's': ['$', '5'], 't': ['7', '+'], 'u': ['|_|'], 'v': ['\\/']} leetspeak = '' for char in message: # Check each character: # There is a 70% chance we change the character to leetspeak. if char.lower() in charMapping and random.random() <= 0.70: possibleLeetReplacements = charMapping[char.lower()] leetReplacement = random.choice(possibleLeetReplacements) leetspeak = leetspeak + leetReplacement else: # Don't translate this character: leetspeak = leetspeak + char return leetspeak # If this program was run (instead of imported), run the game: if __name__ == '__main__': main()
X Tutup