본문 바로가기
파이썬/코드업

파이썬 코드업 1294 : 시저의 암호 2

by artra 2022. 1. 19.
반응형

파이썬 코드업 1294 : 시저의 암호 2

# 파이썬 코드업 1294 : 시저의 암호 2
 
# 대문자 A~Z = 65~90 (10진수) / 41~5A (16진수)
# 소문자 a~z = 97~122 (10진수) /  61~7A (16진수)
# 32(10진수) = 빈칸(Space)
# ord(a) = 97출력 / ord()는 유니코드 정수로 반환한다
 
# 입력예시 : never trust brutus
# 출력예시 : qhyhu wuxvw euxwxv
 
# 알파벳 n 자리에서 +3을 하여 q을 만든다 그외 나머지도 모두 +3
 
= input()  # never trust brutus 입력
= []  # 입력받은 값을 유니코드 정수로 담을 리스트 생성
= []  # b 리스트값을 유니코드 문자로 바꿀 리스트 생성
 
for i in a:  # a값을 never trust brutus for i 돌린다
    if ord(i) == 32:
        # 문자를 유니코드정수 ord(i)로 바꾼 빈칸 32값이 나오면
        b.append(ord(i))  # 빈칸값 32를 b리스트에 그대로 저장
 
    elif 123 <= ord(i) + 3 <= 125:
        # x,y,z 는 +3 을하면 123,124,125 = { , | , } 기호로 된다
        b.append(ord(i) - 23# 여기에 -23을 하여 a,b,c 로 만든다
 
    elif ord(i) >= 97:
        b.append(ord(i) + 3)
    # x,y,z 를 제외한 값은 유니코드정수 +3 을하여 b리스트에 담는다
    # b리스트를 출력하면 아래와 같은 값을 출력한다
    # [113, 104, 121, 104, 117, 32, 119, 117, 120, 118, 119, 32, 101, 117, 120, 119, 120, 118]
 
for i in b:
    c.append(chr(i))
# c를 그냥 출력하면
# ['q', 'h', 'y', 'h', 'u', ' ', 'w', 'u', 'x', 'v', 'w', ' ', 'e', 'u', 'x', 'w', 'x', 'v']
 
# c를 "".join(출력할리스트) 으로 리스트내 문자들을 모두 합쳐준다
print("".join(c))
# qhyhu wuxvw euxwxv 으로 출력
cs
반응형

댓글