Форум сайта python.su
0
Привет, взялся за изучение Python, хочу написать 2 функции которые будут шифровать и расшифровывать символы. То есть при шифровке сдвигать символ на +3.
def encrypt(text): for char in text: #print(text) #y = len(text) x = (ord(char)) #print(x) if x != 0 and x != 121 and x != 120 and x != 122: x += 3 elif x == 121: x = ord("b") elif x == 120: x = ord("a") elif x == 122: x = ord("c") decrypt(x) return x def decrypt(x): if x != 0: x -=3 str = chr(x) print(str) str = input("enter str ") encrypt(str)
Отредактировано yyyuuu (Июнь 8, 2017 15:00:28)
Офлайн
73
yyyuuuона вызывается и показывает результат своей работы. допиши в функцию вывод ее работы и ты увидишь что она вызвана.
А точнее почему не вызывается функция decrypt(x)
def decrypt(x): print('функция decrypt вызвана') if x != 0: x -=3 str = chr(x) print(str)
def encrypt(text): print('текст до кодирования - ',text) x = [ord(char)+3 for char in text] print('кодированный текст - ',*x) print() decrypt(x) def decrypt(x): print('декодируем - ',*x) res = ''.join([chr(i-3) for i in x]) print('декодированный текст - ',res) encrypt(input("enter str "))
Отредактировано marvellik (Июнь 8, 2017 17:50:11)
Офлайн
0
marvellik
def encrypt(text): for char in text: x = (ord(char)) print("кодированый текст - ", chr(x)) if x != 0 and x != 121 and x != 120 and x != 122: x += 3 elif x == 121: x = ord("b") elif x == 120: x = ord("a") elif x == 122: x = ord("c") decrypt(x) def decrypt(x): print('Декодируем - ', ord(x)) if x != 0: x -=3 str1 = chr(x) print("расшифроная", str1) str = input("enter str ") encrypt(str)
Офлайн
0
print('Декодируем - ', ord(x)) не могу вывести Х на экран
Офлайн
568
yyyuuu
Блин, ну вы же уже вот этими операциями получли ord
elif x == 121: x = ord("b") elif x == 120: x = ord("a") elif x == 122: x = ord("c")
Офлайн
0
FishHookЯ пробовал и так и так, print('Декодируем - ', x) так тоже Я не могу вывести символ
yyyuuuБлин, ну вы же уже вот этими операциями получли ord
Офлайн
0
Объясните что не так, пожалуйста
Офлайн
0
Объясните что не так, пожалуйста
Офлайн
73
yyyuuuчто то плохо пробовал.
Я пробовал и так и так, print
def encrypt(text): for char in text: x = (ord(char)) print("буква - ", chr(x)) if x != 0 and x != 121 and x != 120 and x != 122: x += 3 elif x == 121: x = ord("b") elif x == 120: x = ord("a") elif x == 122: x = ord("c") print('буква в коде - ',x) decrypt(x) def decrypt(x): print('*'*25+' start decrypt')# выделяем начало работы decrypt print('Декодируем - ', x) if x != 0: x -=3 str1 = chr(x) print("расшифровка", str1) print('*'*25+' end decrypt')# выделяем конец работы decrypt stroka = 'asd' encrypt(stroka)
буква - a буква в коде - 100 ************************* start decrypt Декодируем - 100 расшифроная a ************************* end decrypt буква - s буква в коде - 118 ************************* start decrypt Декодируем - 118 расшифроная s ************************* end decrypt буква - d буква в коде - 103 ************************* start decrypt Декодируем - 103 расшифроная d ************************* end decrypt
Отредактировано marvellik (Июнь 10, 2017 13:20:38)
Офлайн
0
marvellikСпасибо больше, понял в чем были у меня проблемы
Офлайн