Python. Шифр Цезаря
подскажите, пожалуйста. Написал программу, которая дешифрует шифр Цезаря. Не понимаю почему программа дешифрует б как я
answer = ''
a = ord('а')
A = ord('А')
z = ord('я')
Z = ord('Я')
for i in text:
s = ord(i)
if (s > a and s <= z) or (s > A and s <= Z):
s = s - 1
if s == a:
s = z
if s == A:
s = Z
answer += chr(s)
return answer
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Потому что у вас выполняется цепочка независимых операторов if, и b
превращается в a
, а потом сразу в z
. Поправить дело можно с помощью продолжения того же оператора elif
if (s > a and s <= z) or (s > A and s <= Z):
s = s - 1
elif s == a:
s = z
elif s == A:
s = Z