사진을 보자마자 시저암호라는 걸 파악할 수 있다.
보면 원래 값에서 아스키 값이 2가 증가한 값으로 나온다.
여기서 무작정 2씩 증가시키면 안되는 게 y나 z의 경우 2씩 증가되었을 때 다시 a,b로 돌아가야 하는데 아스키 숫자를 2씩 증가시키기만 하면 a,b로 돌아가지 않는다.
+) def?
함수 정의하는 키워드
+) ord?
문자를 아스키 값으로 변환
+) chr?
아스키 값을 문자로 변환
+) elif?
else if
우선 temp 값에 아무것도 넣지 말고 str을 하나하나 검사하면서 아스키값이 2 증가된 문자를 temp에 넣는다.
띄어쓰기나 ‘나 .인 경우에는 그냥 그대로 출력시켜주고 y와 z의 경우를 고려하기 위해 우선 원래 문자를 아스키 값으로 변환 후 알파벳 개수만큼 더
해주고 2를 증가시켜 반환시킨다.
쭉 읽다보면 string.maketrans을 쓰라고 한다.
+) marketrans?
https://www.tutorialspoint.com/python/string_maketrans.htm
2씩 증가시켰으니 outtab에도 2씩 증가시켜 넣자
+) 모듈?
함수나 변수 또는 클래스 들을 모아 놓은 파이썬 파일
http://www.pythonchallenge.com/pc/def/ocr.html
'PYTHON > python_challenge' 카테고리의 다른 글
Python Challenge level 5 (0) | 2016.12.22 |
---|---|
Python Challenge level 4 (0) | 2016.12.22 |
Python Challenge level 3 (0) | 2016.11.23 |
Python Challenge level 2 (0) | 2016.11.14 |
Python Challenge level 0 (0) | 2016.11.14 |