다음은 간단한 시저의 암호 형식 프로그램 용 코드입니다.사전 및 isspace 함수 사용시 사소한 문제가 있습니다.
잘 작동하지만 사용자가 작성한 단어 사이의 잠재적 인 공백을 인식하지 못합니다.
프로그램이 문자 자체를 올바르게 번역하는 동안 공백을 생략하고 한 단어로 모여있는 모든 문자를 인쇄합니다.
나는이 문제를 직접 풀려고했지만 그 대신에 프로그램은 오류 코드 ( "AttributeError: 'dict' object has no attribute 'isspace'
")를 씁니다.
다른 방법이 있습니까? key.isspace에서 CH 경우
key = {'a':'n', 'b':'o', 'c':'p', 'd':'q', 'e':'r', 'f':'s', 'g':'t',
'h':'u', 'i':'v', 'j':'w', 'k':'x', 'l':'y', 'm':'z', 'n':'a',
'o':'b', 'p':'c', 'q':'d', 'r':'e', 's':'f', 't':'g', 'u':'h',
'v':'i', 'w':'j', 'x':'k', 'y':'l', 'z':'m', 'A':'N', 'B':'O',
'C':'P', 'D':'Q', 'E':'R', 'F':'S', 'G':'T', 'H':'U', 'I':'V',
'J':'W', 'K':'X', 'L':'Y', 'M':'Z', 'N':'A', 'O':'B', 'P':'C',
'Q':'D', 'R':'E', 'S':'F', 'T':'G', 'U':'H', 'V':'I', 'W':'J',
'X':'K', 'Y':'L', 'Z':'M'}
def change(message, new_message):
for ch in message:
if ch in key:
new_message += key[ch]
if ch in key.isspace():
new_message += " "
return new_message
def main():
print
message = input("Type your message here.\n")
new_message = ""
print(change(message, new_message))
main()
에 무엇을 기대 라인'()'할까? – jwodder
'key'는 당신의 사전이고,'isspace()'는 문자열이나 문자 클래스를위한 함수입니다. 그러므로, 당신은'ch.isspace()'에서 ch를 사용하지 말고'ch.isspace()'만 사용하십시오 –
'key' dict에 하나의 공백을 쉽게 추가 할 수 있습니다. (단일 공간으로 매핑됩니다.) –