Python/2.7 simple coding(+ c++)

파이썬챌린지.com 1

qkqhxla1 2014. 8. 15. 17:33

http://www.pythonchallenge.com/pc/def/map.html

0번이 너무 간단해서 1번도 이것만 보고는 아래의 문자열을 k를 m으로, o를 q로, e를 g로 바꿔줬는데

아무 의미가 없는 글자다.. 곰곰히 계속보니 k에서 두글자 뒤가 m( k l m), o에서 두글자뒤가 q,( o p q)

e에서 두글자 뒤가 g이다. (e f g) 나머지도 다 바꿔주면 되는건가?

str = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."
temp = ""

for i in range(0,len(str)): #문자열 길이만큼 반복하면서
    if str[i].isalpha(): #알파벳이면
        if ord(str[i])+2>122: #2를 더했을때 z를 벗어나면
            temp = temp + chr(ord(str[i])+2-26) #26을 빼서 다시 a로 돌아옴.
        else: #z를 안벗어나면
            temp = temp + chr(ord(str[i])+2) #그냥 그대로 이어줌.
    else: #알파벳이 아니면 .이나 '이나 ()같은.
        temp = temp + str[i] #그냥 더해줌.

print temp #출력


무언가 메시지가 나왔습니다. 손으로 해독하지 말고 컴퓨터로 해라. 손으로 하는건 텍스트가 길기 

때문에 비효율적이다. string.maketrans()함수를 추천한다. url에 적용하라.

string.maketrans()함수를 쓰면 이대로 나오는것 같다. 그리고 url인 map.html 의 map을 이대로 

적용하라는데 굳이 string.maketrans()함수를 찾기 귀찮아서 그냥 내가만든거에 넣고 돌렸다.

str='map' 으로만 바꾸고 돌리니 ocr이 나왔다. ocr이 답.

'Python > 2.7 simple coding(+ c++)' 카테고리의 다른 글

파이썬챌린지.com 5  (0) 2014.08.16
파이썬챌린지.com 4  (0) 2014.08.15
파이썬챌린지.com 3  (0) 2014.08.15
파이썬챌린지.com 2  (0) 2014.08.15
파이썬챌린지.com 0  (0) 2014.08.15