from random import choice
from random import randint
symbol = ['1','2','3','4','5','6','7','8','9','0','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','J','K','L',\
'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','<',\
'>','А','М','В','С','у','Е','Т','а','Х','З']
list = {
'A':symbol[0:8], 'B':symbol[8:10],
'C':symbol[10:13], 'D':symbol[13:17],
'E':symbol[17:29], 'F':symbol[29:31],
'G':symbol[31:33], 'H':symbol[33:39],
'I':symbol[39:45], 'J':[symbol[45]],
'K':[symbol[46]], 'L':symbol[47:51],
'M':symbol[51:53], 'N':symbol[53:59],
'O':symbol[59:66], 'P':symbol[66:68],
'Q':[symbol[68]], 'R':symbol[69:75],
'S':symbol[75:81], 'T':symbol[81:90],
'U':symbol[90:93], 'V':[symbol[93]],
'W':symbol[94:96], 'X':[symbol[96]],
'Y':symbol[97:99], 'Z':[symbol[99]]
}
crypt = input("Введите [E] если хотите зашифровать | Введите [D] если хотите зашифровать: ").upper()
if crypt not in ['E','D']:
print("Ошибка: введено неправильное значение!");
raise SystemExit
Message = input("Ввод: ")
def Encrypt_and_Decrypt(mode, message, final = "", crypt = ""):
#Щифрование
if mode == 'E':
for symbol in message.upper():
if symbol in list:
final += choice(list[symbol])
keys = {
'A':['Q','1','!','`','Я','М','Ь','З'],
'B':['W','2'],
'C':['E','3','@'],
'd':['R','4','#',':'],
'e':['T','5','$',';','Ц','Е','Ш','Ж',',','ф','ч','ш'],
'f':['Y','6'],
'g':['U','7'],
'h':['I','8','%','"','Ы','П'],
'i':['O','9','^','/','Ч','И'],
'j':['P'],
'k':['A'],
'l':['S','0','&','?'],
'm':['D','*'],
'n':['F','(','<','У','Н','Л'],
'o':['G',')','>','В','Р','Б','Х'],
'p':['H','-'],
'q':['J'],
'r':['K','_','|','С','Т','Щ'],
's':['L','+','№','К','Г','Д'],
't':['M','=','Й','А','О','Ю','Ъ','.','й'],
'u':['N','[','Ф'],
'v':['B'],
'w':['V',']'],
'x':['C'],
'y':['X','{'],
'z':['Z'],
' ':['}']
}
crypt = ""
for i in final:
if i in keys:
lenght=len(keys[i])
crypt+=keys[i][randint(0,lenght-1)]
print(crypt)
return crypt
Когда пользователь вводит сообщение, сначала символы заменяются на другие, после полученные символы заменяются на рандомные символы из keys, и уже полученный результат выводится, но оно выводит пустую строку, подскажите что не так