Я не совсем Python 3.x про но я находил вещи, чтобы сделать на Python 3.x, и я нашел это:Python 3.4 EndsWith()
Третье лицо форма единственного числа глагола в английском языке отличается по суффиксу -s, который добавляется к стеблю инфинитивной формы: run -> run. Простой набор правил может быть приведен следующим образом:
a. Если глагол заканчивается на y, удалите его и добавьте
b. Если глагол оканчивается на o, ch, s, sh, x или z, добавьте es
c. По умолчанию просто добавьте s
Ваша задача в этом упражнении - определить функцию make_3sg_form(), которая задает глагол в инфинитивной форме, возвращает свою особую форму третьего лица. Проверяйте свою функцию словами, такими как try, brush, run и fix. Обратите внимание, однако, что правила должны рассматриваться как эвристические, в том смысле, что вы не должны ожидать, что они будут работать во всех случаях. Совет: Проверьте метод Строки EndsWith()
Так что я создал код носового его, но есть проблема, Heres код:
def make_3sg_form():
Word = input('Enter a word: ')
if Word.endswith('y'):
New_word=Word[:+4]+'ies'
print(New_word)
if Word.endswith(('o', 'ch', 's', 'sh', 'x' or 'z')):
New_word=Word[:+4]+'es'
print(New_word)
if Word !=Word.endswith((('o', 'ch', 'y', 's', 'sh', 'x' or 'z'))):
New_word=Word[:+10]+'s'
print(New_word)
make_3sg_form()
Проблема заключается в том, если я делаю слово, заканчивающееся на " у»например, грузовой автомобиль он будет выводить
lorries
lorrys
Кроме того, как я делаю это так, то число в коде количество букв в слове минус 1 (именно так, я не должен изменить номер на основе на слово.
Помимо принятого и правильного ответа Vignesh ниже, я заметил, что у вас есть '' y'' как часть третьего блока if. Я упоминаю об этом, потому что некоторые глупые ошибки, которые я создал, являются результатом такой ошибки. Будьте в поиске для них. – msw