2014-01-10 1 views
-1

나는 make_3rd_form() 함수를 정의 할 필요가 있습니다.이 함수는 부정사 형태의 동사가 제 3 자 단수 형태를 반환합니다.함수를 정의하는 방법 make_ 3 rd _form() 부정사 형태의 동사가 제 3 자 단수 형태를 반환합니까?

영어의 제 3 자 단수 동사 형식은 접미사 -s에 의해 구별되며이 접미사는 부정사 형태의 줄기에 추가됩니다 : run-> runs.

이러한

규칙이다 : 동사가 Y로 끝나는 경우 제거하고 동사 O 종료되면 IES

추가 편, S는, SH, X 또는 Z는으로 ES

추가 기본값은 s를 추가합니다.

문자열 메소드가()로 끝나는 것은 방법이라고 생각합니다.

저는 모든 종류의 아이디어가 도움이 될 수 있도록 Python에 익숙하지 않습니다.

+2

이 숙제가 있습니까? 지금까지 뭐 해봤 어? –

+0

몇 가지 코드를 먼저 게시 해보십시오. 어떤 방향으로 가고 있는지 알 수 있습니다. – SobiborTreblinka

+0

무엇을 묻는 것은 알고리즘입니다. 이것은 이런 종류의 질문을위한 곳이 아닙니다. –

답변

0
def make_3rd_form(): 
    word = raw_input('Please enter a word: ') 
    if word[len(word)-1] == 'o' or word[len(word)-1] == 's' or word[len(word)-1] == 'x' or word[len(word)-1] == 'z': 
     word = word + 'es' 
     print word 
    elif word[len(word)-2] == 'c' and word[len(word)-1] == 'h': 
     word = word + 'es' 
     print word 
    elif word[len(word)-2] == 's' and word[len(word)-1] == 'h': 
     word = word + 'es' 
     print word 
    elif word[len(word)-1] == 'y': 
     word = word[:-1] 
     word = word + 'ies' 
     print word 
    else: 
     word = word + 's' 
     print word 

make_3rd_form() 

이것은 당신이 생각한 것입니까? 나는 그렇게 희망한다! 그러나 요구 사항 중 하나가()와 함께 사용하는 경우, 미안, 분명히하지 않았기 때문에.

0
def make_3rd_form(verb): 
    es = ('o', 'ch', 's', 'sh', 'x', 'z') 
    if verb.endswith('y'): 
     return re.sub('y$', 'ies', verb) 
    elif verb.endswith(es): 
     return verb + 'es' 
    else: 
     return verb + 's'