42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
|
|
|
|
def shift_string(string, offset):
|
|
alphabet = "abcdefghijklmnopqrstuvwxyz"
|
|
max_offset = len(alphabet) -1
|
|
min_offset = 0
|
|
|
|
output = ""
|
|
|
|
for letter in string.lower():
|
|
letter_index = alphabet.find(letter)
|
|
if letter_index == -1:
|
|
result = letter
|
|
else:
|
|
if letter_index + offset > max_offset:
|
|
result = alphabet[letter_index - len(alphabet) + offset]
|
|
elif letter_index + offset < 0:
|
|
result = alphabet[letter_index + len(alphabet) + offset]
|
|
else:
|
|
result = alphabet[letter_index + offset]
|
|
|
|
output += result
|
|
|
|
print(f"Your result is: {output}")
|
|
|
|
|
|
b_continue = "yes"
|
|
|
|
while b_continue == "yes":
|
|
action = input("What do you want to do? \"encode\" or \"decode\"?\n")
|
|
message = input("Type your message.\n")
|
|
offset = int(input("What is your offset?\n"))
|
|
|
|
if action == "encode":
|
|
shift_string(message, offset)
|
|
elif action == "decode":
|
|
shift_string(message, -offset)
|
|
else:
|
|
print("Invalid action - Try again")
|
|
|
|
b_continue = input("Do you want to continue? \"yes\" or \"no\"\n")
|