2013-04-15 4 views
0

저는 Python을 처음 사용하고 문자열에 "I", "I 'm", "My", "Was", "Our"등의 단어가 있는지 감지 할 수있는 함수를 만들려고합니다. "나"는 "You", "You 're", "Your", "Were", "Your"및 "You"로 바꾸고 문장 부호가 끝나지 않으면 끝 부분에 물음표를 추가하십시오. 지금까지 나는 코드python 문자열의 단어를 확인하고 바꾸는 방법은 무엇입니까?

if ' ' in statement and statement[-1].isalpha() is True: 
     response = statement 
     response = response + "?" 

     return response 

을 가지고 있지만 나는 그 단어에 대한 기능 seach을하고 자신의 반대로 교체하는 방법을 모르겠어요. 예를 들어 진술문이 "내 강아지가 행복하다고 말하면"응답은 "네 강아지가 네가 행복하다고 했어?"라고 대답해야합니다.

감사

답변

6

예를 들면 ..., 문자열에서 대체이

d = {"I": "You", "I'm": "You're".....} 
for k,v in d.iteritems(): 
    statement = statement.replace(k, v) 
+0

당신은이 정확한 대답을 저를 이겼습니다 !!! – SethMMorton

+0

죄송합니다. 저는 python을 처음 접했지만 k는 무엇입니까? – user2278906

+0

변수 만 있습니다. – marcadian

1

체크 아웃 파이썬의 replace 기능 같은 것을 사전 매핑을 생성하고 반복

x = "My dog said I'm happy" 
x.replace("My", "Your") # "Your dog said I'm happy" 

당신은 대체 할 단어의 목록과 교체 한 후 연속적으로 대체하는 것 인 목록 new되는 old의 목록을 만들 수 있습니다.

짧은 단어보다 긴 단어는 교체해야합니다.

예를 들어 위의 "I"를 "You"로 바꾸면 "Your dog has You happy"라고 표시됩니다. 따라서 "I"앞에 바꿔야합니다.

관련 문제