Создать функцию для кодирования и декодирования строк методом Цезаря.
Выберете уровень:
►► ►► ►►►
Начальный  Средний  Высокий 

Кодирование и декодирование методом Цезаря

Эта функция позволяет кодировать и декодировать строки, сдвигая каждый символ на заданное число позиций в алфавите.

def caesar_cipher(text, shift, direction='right'):
    alpha = 'abcdefghijklmnopqrstuvwxyz'
    result = ''
    for char in text:
        if char.lower() in alpha:
            start = alpha.index(char.lower())
            if direction == 'right':
                new_pos = (start + shift) % 26
            else:
                new_pos = (start - shift) % 26
            new_char = alpha[new_pos]
            if char.isupper():
                result += new_char.upper()
            else:
                result += new_char
        else:
            result += char
    return result

# Пример использования
encoded_text = caesar_cipher('Hello, World!', 3)
decoded_text = caesar_cipher(encoded_text, 3, 'left')
print('Encoded:', encoded_text)
print('Decoded:', decoded_text)
Категория: Практические упражнения Python | Добавил: Admin (28.04.2024)
Просмотров: 32 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: