2014-01-10 33 views
-1

我需要定義一個函數make_3rd_form(),它給出一個不定式形式的動詞返回它的第三人稱單數形式。如何定義一個函數make_3 rd _form()給出了一個不定式形式的動詞返回它的第三人稱單數形式?

英語中的第三人稱單數動詞形式通過後綴-s來區分,後綴-s被添加到不定式形式的詞幹中:run-> runs。

這些是規則: 如果動詞y中結束時,將其取出並如果動詞在鄰端添加IES

,CH,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' 
相關問題