나는 13 개의 공백만큼 텍스트를 이동시키는 함수를 작성하고있다. 변환 된 문자는 대소 문자를 유지해야하며 문자가 문자가 아닌 경우에는 변경되지 않은 문자를 통과해야합니다. 나는 다음과 같은 함수를 썼다 :파이썬에서 또 다른 카이저 암호
def rot13(str):
result = ""
for c in str:
if 65 <= ord(c) <= 96:
result += chr((ord(c) - ord('A') + 13)%26 + ord('A'))
if 97 <= ord(c) <= 122:
result += chr((ord(c) - ord('a') + 13)%26 + ord('a'))
else:
result += c
print result
내가 발견 한 것은 소문자와 문자가 아닌 문자가 잘 작동한다는 것이다. 그러나 함수가 대문자 chars에 적용되면 함수는 원래 char에 따라 FOLLOWED가 이동 된 문자를 반환합니다. 나는이 문제에 대한 많은 해결책을 알고 있지만,이 특정 오류는 내 논리가 잘못되었거나 궁금해서 파이썬에서 chars와 loops를 이해하고있다. 어떤 도움을 주셔서 감사합니다.
확실히 문제였습니다. 감사! – carlmonday