알파벳 나열은 아스키코드를 사용하면 편리하다.
알파벳에서 13글자씩 밀어서 쓸 때의 규칙을 생각해본다.
A(65) -> +13 -> N(78)
...
M(77) -> +13 -> Z(90)
N(78) -> -13 -> A(65)
...
Z(90) -> -13 -> M(77)
a ~ m 까지는 +13
n ~ z 까지는 -13
A ~ M 까지는 +13
N ~ Z 까지는 -13
소문자, 대문자, 숫자, 공백을 어떻게 구분할 것있가?
-> 방법 1. 전용함수(islower(), isupper(), isdigit())를 사용한다.
-> 방법 2. 'a'<=비교<='z', 'A'<=비교<='Z'
s = input()
answer = ''
for i in s:
if i.islower():
if 97 <= ord(i) <= 109:
answer += chr(ord(i) + 13)
else:
answer += chr(ord(i) - 13)
elif i.isupper():
if 65 <= ord(i) <= 77:
answer += chr(ord(i) + 13)
else:
answer += chr(ord(i) - 13)
else:
answer += i
print(answer)
answer = ''
for i in s:
if i.islower():
if 97 <= ord(i) <= 109:
answer += chr(ord(i) + 13)
else:
answer += chr(ord(i) - 13)
그 뒤는 대문자로의 반복.