Условия задачи:

 

Напишите программу, в которой шифруется и дешифруется введенный пользователем текст. При шифровании каждая буква заменяется на следующую (а последняя — на первую), но только эта операция
отдельно выполняется для гласных букв и для согласных. Для этого нужно сформировать список гласных и согласных букв и шифрование и дешифрование выполнять на основе этих списков.

 

Решение задачи:

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('шифровальщик работает')