String 如何定义函数make 3 rd u form(),该函数给定一个不定式动词返回其第三人称单数形式?

String 如何定义函数make 3 rd u form(),该函数给定一个不定式动词返回其第三人称单数形式?,string,forms,python-2.7,infinite,String,Forms,Python 2.7,Infinite,我需要定义一个函数make_3rd_form(),它给定一个不定式动词,返回它的第三人称单数形式 英语中第三人称单数动词形式的区别在于后缀-s,它被添加到不定式的词干:run->runs 规则如下: 如果动词以y结尾,请删除它并添加y 如果动词以o、ch、s、sh、x或z结尾,则添加es 默认情况下,只需添加s 我认为string方法以()结尾就是最好的方法 我是python新手,所以任何类型的想法都会有帮助 def make_3rd_form(): word = raw_input('

我需要定义一个函数make_3rd_form(),它给定一个不定式动词,返回它的第三人称单数形式

英语中第三人称单数动词形式的区别在于后缀-s,它被添加到不定式的词干:run->runs

规则如下: 如果动词以y结尾,请删除它并添加y

如果动词以o、ch、s、sh、x或z结尾,则添加es

默认情况下,只需添加s

我认为string方法以()结尾就是最好的方法

我是python新手,所以任何类型的想法都会有帮助

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()

你是这么想的吗?我希望如此!但是,如果其中一个要求是与()一起使用,很抱歉,因为我显然没有。这是作业吗?到目前为止你都试过什么?试着先发布一些代码,这样我们就可以看到你的方向了。你问的是一个算法。这不是回答此类问题的地方。这是一个编程问题@VictorSchröder。我一有东西要发布,就会发布我得到的东西。我还在想办法做这件事。@user3179932,不,不是。这是一个要求人们为你写程序的请求,这绝对不是这个社区的主题。如果您编写了一段代码,但某些函数不起作用,那么可以询问。但要求人们做全部事情?没有。这甚至对你自己的学习都是不利的。
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'