Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python I';I’我试着根据结尾字符将动词的非连接形式转换成复数或单数_Python_Python 3.x_Text_Replace - Fatal编程技术网

Python I';I’我试着根据结尾字符将动词的非连接形式转换成复数或单数

Python I';I’我试着根据结尾字符将动词的非连接形式转换成复数或单数,python,python-3.x,text,replace,Python,Python 3.x,Text,Replace,我的代码是这样的: def sing_plur(v): if v[-2:] in ['sh', 'ch']: print(v.replace(v[-2], 'es')) elif v[-1:] in ['o', 's', 'x', 'z']: print(v.replace(v[-1:], 'es')) elif v[-1] is 'y': print(v.replac

我的代码是这样的:

    def sing_plur(v):
        if v[-2:] in ['sh', 'ch']:
            print(v.replace(v[-2], 'es'))
        elif v[-1:] in ['o', 's', 'x', 'z']:
            print(v.replace(v[-1:], 'es'))
        elif v[-1] is 'y':
            print(v.replace(v[-1:], 'ies'))
        else:
            print(v + 's')
当运行此命令时:

 sing_plur('try')
 sing_plur('brush')
 sing_plur('run')
 sing_plur('fix')
我明白了:

tries
bruesh
runs
fies

我的问题是什么?

您的问题是替换最后一个字符,而不是添加到单词中(除了y结尾和普通动词)。通过说
v+es
,您将添加到
v
,而不是替换最后一个字符,从而解决了您的问题

一个错误v[-2:]-v[-2],这很有帮助,但我真正的问题是,出于某种原因,我替换了,而不仅仅是将第3行和第7行中的动词串联起来……抱歉浪费了时间