Шифр Цезаря — новичокPython

Программы на Python
Ответить
Anonymous
 Шифр Цезаря — новичок

Сообщение Anonymous »

Код: Выделить всё

while True:
option2 = input("Type encode or decode: \n")

if option2 == "encode":
text_encode = input("Type text to encode: \n")
shift = int(input("Type shift to encode: \n"))
word = []

for letter in text_encode.lower():
if ord(letter) < 97:
word.append(letter)
elif 96 < ord(letter) < 123:
new_letter = chr(ord(letter) + shift)
if ord(new_letter) > 122:
new_letter = chr(ord(new_letter) - 122 + 96)
word.append(new_letter)
else:
word.append(new_letter)

print(f"encoded: {''.join(word)}")

elif option2 == "decode":
text_decode = input("Type text to decode: \n")
shift = int(input("Type shift to encode: \n"))
word = []

for letter in text_decode.lower():
if ord(letter) < 97:
word.append(letter)
elif 96 < ord(letter) < 123:
new_letter = chr(ord(letter) - shift + 26)
if ord(new_letter) > 122:
new_letter = chr(ord(new_letter) - 26)
word.append(new_letter)
else:
word.append(new_letter)

print(f"decoded: {''.join(word)}")

else:
print("Wrong input")
Здравствуйте, я хотел бы задать вопрос по поводу моего проекта, связанного с шифром Цезаря.

Что можно было бы сделать лучше, чтобы сократить код? И второй вопрос: красиво ли написано? Есть какие-нибудь советы по улучшению?
Я думал о добавлении отдельных функций для шифрования и дешифрования.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»