使用:
sentence= input("Enter a sentence")
keyword= input("Input a keyword from the sentence")
我想在句子中找到关键字的位置。到目前为止,我有这个代码摆脱标点符号并使所有字母小写:
punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''#This code defines punctuation
#This code removes the punctuation
no_punct = ""
for char in sentence:
if char not in punctuations:
no_punct = no_punct + char
no_punct1 =(str.lower (no_punct)
我知道需要一段实际找到该单词位置的代码。
答案 0 :(得分:14)
这是str.find()
的用途:
sentence.find(word)
这将为您提供单词的起始位置(如果存在,否则为-1),然后您可以将单词的长度添加到单词中以获得其结尾的索引。
start_index = sentence.find(word)
end_index = start_index + len(word) # if the start_index is not -1
答案 1 :(得分:2)
如果位置是指句子中的第n个单词,则可以执行以下操作:
words = sentence.split(' ')
if keyword in words:
pos = words.index(keyword)
这将在每次出现空格后分割句子,并将句子保存在列表中(逐字)。如果句子包含关键字,list.index()将找到其位置。
修改强>:
if语句是确保关键字在句子中的必要条件,否则list.index()将引发ValueError。