python-challange/1/cesar_shift.py

38 lines
1.1 KiB
Python

import string
from utils.Url import Url
SECRET = ("g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq "
"ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw "
"rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq "
"pcamkkclbcb. lmu ynnjw ml rfc spj.")
ASCII_ALPHABET = string.ascii_lowercase
def shift_chars(riddle_string, shift_by_int):
# Shift only between ord 96 and 121
shifted_string = ''
for char in riddle_string:
char_value = ord(char)
if char_value >= ord(ASCII_ALPHABET[-1]) - 1:
shifted_string += chr(ord(char) -
len(ASCII_ALPHABET) + shift_by_int)
elif char_value <= ord(ASCII_ALPHABET[0]) - 1:
shifted_string += char
else:
shifted_string += chr((ord(char)) + shift_by_int)
return shifted_string
def main():
shifted_secret = shift_chars(SECRET, 2)
print(shifted_secret)
shifted_url = shift_chars('map', 2)
builder = Url()
builder.solution = shifted_url
print(builder.url)
if __name__ == '__main__':
main()