2013-08-25 3 views
0

Если вы ищете что-то в Google и используете слово «running», Google достаточно умен, чтобы соответствовать «run» или «run». Это потому, что поисковые системы делают то, что называется «вытеснение» перед сопоставлением слов.завершение. Мне нужно написать код для этого

По-английски истощение включает удаление общих окончаний слов для создания базового слова. Трудно найти полный набор правил, которые работают для всех слов, но этот упрощенный набор делает довольно хорошую работу:

Если слово начинается с заглавной буквы, выведите его без изменений. Если слово заканчивается на 's', 'ed' или 'ing', удалите эти буквы, но если результирующее словесное слово имеет длину всего 1 или 2 буквы (например, измельчение пения), используйте исходное слово. Ваша программа должна прочитать одно слово ввода и распечатать соответствующее слово. Например:

Enter the word: states 
state 

Другой пример взаимодействие с вашей программой:

Enter the word: rowed 
row 

Помните, что капитализированные слова не должны быть обусловлены:

Enter the word: James 
James 

и ни если слова, которые становятся слишком коротки после :

Enter the word: sing 
sing 

Введите код:

word = input("Enter the word:") 
x = 'ing' 
y = 'ed' 
z = 's' 
first = word[:1] 
last = word[-1:] 
uppercase = first.upper 
if word == uppercase: 
print("") 

elif (x in word) == True: 
word = (word.replace('ing','')) 
print(word) 

elif (y in word) == True: 
word = (word.replace('ed','')) 
print(word) 

elif (z in word) == True: 
word = (word.replace('s','')) 
print(word) 
+0

ли я право идея с этим слово = вход ("Введите слово:") х = ИНГ ' у = 'е изд' г = 'S' первое слово = [1] = Последнее слово [-1:] прописные = first.upper , если слово == верхний регистр: print ("") elif (x в слове) == True: word = (word.replace ('ing', '')) print (word) elif (y в слове) == Истина: word = (word.replace ('ed', '')) print (word) elif (z в слове) == True: word = (word.replace ('s', '')) print (word) – qwerty

+0

Попробуйте ввести свой код в вопрос и следуйте инструкциям по форматированию, чтобы ваш код отображался правильно. 4 пробела в начале каждой строки для блоков кода. –

+0

thanx код вверх – qwerty

ответ

1

Я вижу два варианта. Или это вопрос домашней работы, и в этом случае - попробуйте решить свою домашнюю работу.

Другой случай - вам это нужно в реальной жизни. Если да, просмотрите NLTK для потребностей обработки на естественном языке Python. В частности, см http://nltk.org/api/nltk.stem.html

0

Установить NLTK инструментарий и попробовать это

from nltk.stem.porter import PorterStemmer 
PorterStemmer.stem_word(word) 
Смежные вопросы