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行中的动词串联起来……抱歉浪费了时间