반응형
파이썬 코드업 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
a = input() # never trust brutus 입력
b = [] # 입력받은 값을 유니코드 정수로 담을 리스트 생성
c = [] # 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 |
반응형
'파이썬 > 코드업' 카테고리의 다른 글
파이썬 코드업 1405 : 숫자 로테이션 (0) | 2022.05.08 |
---|---|
파이썬 코드업 1295 : 알파벳 대소문자 변환 (0) | 2022.01.21 |
파이썬 코드업 1675 : 시저의 암호 1 (0) | 2021.12.07 |
파이썬 코드업 1284 : 암호 해독 (0) | 2021.12.01 |
파이썬 코드업 1283 : 주식 투자 (0) | 2021.12.01 |
댓글