Условия задачи:
Напишите программу, в которой шифруется и дешифруется введенный пользователем текст. При шифровании каждая буква заменяется на следующую (а последняя — на первую), но только эта операция
отдельно выполняется для гласных букв и для согласных. Для этого нужно сформировать список гласных и согласных букв и шифрование и дешифрование выполнять на основе этих списков.
Решение задачи:
text = input('Введите текст:')
def kripto(txt):
new_text = ''
listA = ('а', 'о', 'у', 'ы', 'э', 'я', 'е', 'ё', 'ю', 'и')
listB = ('б', 'в', 'г', 'д', 'й', 'ж', 'з', 'к', 'л', 'м', 'н',
'п', 'р', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ъ')
for i in txt:
if i.isalpha():
if i in listA:
num = listA.index(i)
if num == len(listA)-1:
i = listA[0]
else:
i = listA[num + 1]
else:
num = listB.index(i)
if num == len(listB) - 1:
i = listB[0]
else:
i = listB[num + 1]
new_text += i
print('шифрование завершено')
return new_text
def dekripto(txt):
old_text = ''
listA = ('а', 'о', 'у', 'ы', 'э', 'я', 'е', 'ё', 'ю', 'и')
listB = ('б', 'в', 'г', 'д', 'й', 'ж', 'з', 'к', 'л', 'м', 'н',
'п', 'р', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ъ')
for i in txt:
if i.isalpha():
if i in listA:
num = listA.index(i)
if num == 0:
i = listA[-1]
else:
i = listA[num - 1]
else:
num = listB.index(i)
if num == 0:
i = listB[-1]
else:
i = listB[num -1]
old_text += i
print('дешифрование завершено')
return old_text
new_text =kripto(text)
print(new_text)
old_text = dekripto(new_text)
print(old_text)
if text == old_text:
print('шифровальщик работает')