Как сделать программу на 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...")