2015-12-09 4 views
-1

Я пытаюсь выяснить, как сделать программу python, которая выделяет положение/позиции определенного введенного слова в предложении и перечисляет, что это за слово. Например, если предложение было: «Толстый кот сидел на коврике» то положение для слова жира будет 2. НомерКак создать программу python, в которой указывается позиция/позиции определенного слова в предложении

Вот что Ive получил до сих пор:

varSentence = ("The fat cat sat on the mat") 

print (varSentence) 

varWord = input("Enter word ") 

varSplit = varSentence.split() 

if varWord in varSplit: 
    print ("Found word") 
else: 
    print ("Word not found") 
+0

С какой задачей вы столкнулись? – zvone

+0

У меня есть программа для анализа, если в предложении есть слово, просто возникли проблемы с попыткой сделать так, чтобы он перечислил, в какой позиции находится это слово. –

+0

Мы ожидаем от вас, что вы начали работу над проблемой, и вы заблокированы, это почему вы просите нас о нашей помощи. Поэтому наш вопрос: где вы заблокированы? Если ваш ответ «в начале», тогда вы явно не в том месте на SO. Вы пишете какой-то алгот на листе бумаги? – Cilyan

ответ

1

Использование split для преобразуйте ваше предложение в список слов, enumerate, чтобы сгенерировать позиции, и list comprehension, чтобы сгенерировать список результатов.

>>> sentence = "The fat cat sat on the mat" 
>>> words = sentence.lower().split() 
>>> word_to_find = "the" 
>>> [pos for pos, word in enumerate(words, start=1) if word == word_to_find] 
[1, 6] 

Если слово не найдено, ваш результат будет пустым.

1

Вы можете использовать этот код. Я создал его для задания в школе, хотя он должен помочь, если вы его сложите

UserSen = input("Please type in a sentence without punctuation:") 
print("User has input:",UserSen) 
WordFindRaw = input("Please enter a word you want to search for in the sentence:") 
print("The word requested to be seacrhed for is:",WordFindRaw) 
UserSenLow = UserSen.lower() 
WordFind = WordFindRaw.lower() 
SenLst = [] 
SenLst.append(UserSenLow) 
print(SenLst) 
if any(WordFind in s for s in SenLst): 
print("Search successful. The word '",WordFind,"' has been found in position(s):") 
else: 
print("Search unsuccessful. The word '",WordFind,"' was not found. Please try another word...") 

 Смежные вопросы

  • Нет связанных вопросов^_^