해당문제는 내장함수를 활용하여 lower()나 upper()로 해결할 수 있었습니다.
이후 C언어처럼 파이썬의 ord()와 chr() 함수를 통해 아스키코드를 이용하여 문제를 해결하려고 하였으나
대문자를 소문자로 바꾸는 과정이 제대로 이루어지지 않았습니다.
예를 들어 'cccCCC'의 문자열은 'CCC###'으로 변환이 되었습니다.
print( chr( ord('C') + ord('a') - ord('A') ) ) 과 같은 명령문은 c가 되는데,
위의 반복문에서는 '#'이 더해지는 이유에 대해서 질문드립니다.
질문을 올리신지 꽤 오래 되었네요. 지금은 해결하셨는지 모르겠습니다.
답변을 드리자면,
아스키 코드 상에서 소문자를 대문자로 바꾸는 경우에는 소문자를 빼주고, 대문자를 더해줍니다.
반대로 대문자를 소문자로 바꾸는 경우에는 대문자를 빼주고, 소문자를 더해주어야 합니다.
작성하신 코드는 letter가 소문자일 때와 대문자일 때 모두 대문자를 더하고 소문자를 빼주어 조건문이 무용지물이 되었습니다. 대문자를 소문자로 바꾸는 부분의 코드를 수정해야 합니다.