This commit is contained in:
Willow Behar
2020-10-16 12:12:10 -05:00
parent d235840598
commit 9043770e99

View File

@ -6,47 +6,61 @@ Description: A Caesar Cipher coding challenge given by the Crunix Club"
import sys
if __name__ == "__main__":
main()
def main():
#Get Key
if "-k" in sys.argv:
key_flag_location = sys.argv.index("-k")
key = sys.argv[key_flag_location + 1]
key = int(sys.argv[key_flag_location + 1])
if "-E" in sys.argv:
#Get String
encrypt_flag_location = sys.argv.index("-E")
encrypt_string = sys.argv[encrypt_flag_location + 1]
encrypt_string = str(sys.argv[encrypt_flag_location + 1])
#Encrypt
Encrypt(key, encrypt_string)
print(Encrypt(key, encrypt_string))
if "-D" in sys.argv:
#Get String
decrypt_flag_location = sys.argv.index("-D")
decrypt_string = sys.argv[decrypt_flag_location + 1]
#Decrypt
Decrypt(key, decrypt_string)
print(Decrypt(key, decrypt_string))
if "-h" in sys.argv:
#Help
print("Help")
def Encrypt(key, phrase):
new_string = ""
if phrase is not "":
for letter in phrase:
letter_value = ord(letter)
if 94 <= letter_value >= 122:
letter_value += key
if letter_value > 122:
while letter_value > 122:
offset = letter_value - 122
letter_value = 94 + offset
if letter_value < 94:
while letter_value < 94:
offset = letter_value - 94
letter_value = 122 + offset
new_string += chr(letter_value)
else:
new_string += letter
for letter in phrase:
letter_value = ord(letter)
#Lowercase
if 97 <= letter_value <= 122:
letter_value += key
if letter_value > 122:
while letter_value > 122:
offset = letter_value - 122
letter_value = 96 + offset
if letter_value < 97:
while letter_value < 97:
offset = letter_value - 97
letter_value = 123 + offset
new_string += chr(letter_value)
#Uppercase
elif 65 <= letter_value <= 90:
letter_value += key
if letter_value > 90:
while letter_value > 90:
offset = letter_value - 90
letter_value = 64 + offset
if letter_value < 65:
while letter_value < 65:
offset = letter_value - 65
letter_value = 91 + offset
new_string += chr(letter_value)
else:
new_string += letter
return new_string
def Decrypt(key, phrase):
if phrase is not "":
return Encrypt(-key, phrase)
if __name__ == "__main__":
main()