def cipher(text, d):
return ''.join(chr((ord(c) - (97 if c.islower() else 65) + d) % 26 + (97 if c.islower() else 65)) if c.isalpha() else c for c in text)
text = input()
d = int(input())
print(cipher(text, d))
phrase = input("Введите фразу для шифрования: ")
shift = int(input("Введите количество символов для сдвига: "))
def caesarcipher(phrase, shift):
result = ""
for char in phrase:
if char.isalpha():
if char.islower():
result += chr((ord(char) - ord('a') + shift) % 26 + ord('a'))
elif char.isupper():
result += chr((ord(char) - ord('A') + shift) % 26 + ord('A'))
else:
result += char
return result
encryptedphrase = caesarcipher(phrase, shift)
print("Зашифрованная фраза:", encryptedphrase)
Идея шифрования была совершенно тривиальной и заключалась в цик-лическом сдвиге букв на три позиции. В итоге буква А превращалась в D, В - в Е, С - в F и т. д. Последние три буквы алфавита переносились на на-чало. Таким образом, буква Х становилась А, Y - В, а Z - С. Цифры и другие символы не подвергались шифрованию.
Напишите программу, реализующую код Цезаря. Позвольте пользователю ввести фразу и количество символов для сдвига, после чего выведите результирующее сообщение. Убедитесь в том, что ваша программа шиф-рует как строчные, так и прописные буквы. Также должна быть возмож-ность указывать отрицательный сдвиг, чтобы можно было использовать вашу программу для расшифровки фраз.