Как сделать программу на Python, которая перечисляет позицию / позиции определенного слова в предложении

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

Вот что я получил так далеко:

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")

2 ответа

Решение

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

>>> 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]

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

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

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...")
Другие вопросы по тегам