Я пытаюсь сделать простой шифр Ceaser и заставить его работать в основном так, как я хочу. За исключением того, что я хочу сместить только буквы в сообщении, которые являются заглавными, и оставить строчные буквы одинаковыми. Например, если сообщение «HeLLo», программа должна только сдвинуть «H LL» и оставить «eo» таким же. Как показано ниже.
Токовый выход:
Message: HeLLo
Shift: 1
IFMMP
Желаемый выход:
Message: HeLLo
Shift: 1
IeMMo
Код:
plain_text = input("Message: ")
shift = int(input("Shift: "))
def caesar(plain_text, shift):
cipher_text = ""
for ch in plain_text:
if plain_text.lower():
plain_text = plain_text
if ch.isalpha():
final_letter = chr((ord(ch) + shift - ord('A')) % 26 + ord('A'))
cipher_text += final_letter
else:
cipher_text += ch
print(cipher_text)
return cipher_text
caesar(plain_text, shift)