Skip to content

Instantly share code, notes, and snippets.

@robertlugg
Created April 15, 2020 15:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robertlugg/49e2ab7ba1b95fc9e514987a8e4b479c to your computer and use it in GitHub Desktop.
Save robertlugg/49e2ab7ba1b95fc9e514987a8e4b479c to your computer and use it in GitHub Desktop.
# Fixed version.
# Minimal changes to get it working
my_string = "This is a bunch of words!"
print(f'{my_string}')
alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
outputStr = ''
for i in my_string:
for idx, j in enumerate(alphabet):
if i == j:
outputStr += alphabet[(idx + 13) % len(alphabet)]
break
else:
outputStr += i
print(f'{outputStr}')
# My attempt at the best way:
import string
all_letters = string.ascii_letters
output_list = list()
for this_letter in my_string:
if this_letter in all_letters:
idx = all_letters.find(this_letter)
idx = (idx + 13) % len(all_letters)
output_list.append(all_letters[idx])
else:
output_list.append(this_letter)
output_string = ''.join(output_list)
print(f'{output_string}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment