Эта программа предназначена для запроса предложения и числа, затем она сдвигает буквы вниз по алфавиту на все введенное число, а затем позволяет отменить его, сдвинув его на минус то, что вы вводите.По какой-то причине, когда вы вводите 5
в качестве сдвига, буква смещается на разные случайные буквы и не дает правильного слова, когда вы пытаетесь сдвинуться назад, и я понятия не имею, почему.
import sys
import time
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
(a, b, c, d, e, f, g, h, i, j, k, l, m,
n, o, p, q, r, s, t, u, v, w, x, y, z) = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
def program():
def encryption():
def encryption1():
global message
global shift
message = list ((input ("Please enter the sentence you would like to be %s\n>" % (EnDe1))).lower())
print ("To %s your message please %s your private key number (from 1 - 10)" % (EnDe2, EnDe3))
shift = int (input (">"))
if EnDe == "b":
shift = - (shift)
if shift < 11 or shift > 0:
for x in range(len(message)):
if message[x] != " ":
if eval(message[x]) > 26 - shift:
message[x] = letters[eval(message[x]) + shift - 27]
else:
message[x] = letters[eval(message[x]) + shift - 1]
else:
shift = int (input ("only numbers from 1 to 10 are accepted, try again\n>"))
encryption1()
def choice():
global EnDe
global EnDe1
global EnDe2
global EnDe3
EnDe = (input ("would you like to A)encrypt or B)decrypt\n>")).lower()
if EnDe == "a":
EnDe1 = "encrypted"
EnDe2 = "encrypt"
EnDe3 = "pick"
encryption1()
elif EnDe == "b":
EnDe1 = "decrypted"
EnDe2 = "decrypt"
EnDe3 = "enter"
encryption1()
else:
print ("please pick either 'A' or 'B' , ONLY!")
time.sleep(2)
choice()
choice()
output = ''.join(message)
print (output)
retry = input ("would you like to Decrypt/Encrypt another message? (Y/N)\n>")
retry = retry.lower()
while retry != ("y" or "n"):
retry = input ("please select either y or n\n>")
retry = retry.lower()
while retry == "y":
program()
else:
sys.exit()
encryption()