41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
|
import string
|
||
|
|
||
|
URL = 'http://www.pythonchallenge.com/pc/def/map.html'
|
||
|
|
||
|
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_secret)
|
||
|
shifted_url = shift_chars(URL, 2)
|
||
|
print('Shifted url:', shifted_url)
|
||
|
new_url = URL.replace('map', shifted_url.split('/')[-1][:3])
|
||
|
print('New url:', new_url)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|