我在写一个函数,用户输入一个单词,然后输入一个字符串,这个函数识别所有出现的单词以及该单词在字符串中的位置(尽管它实际上在中途被转换成了一个列表)。在
我目前的代码只识别第一次出现的单词,没有进一步的。如果单词是字符串中的第一个单词,它也不会识别该单词,返回一个空列表。它还将显示单词的实际位置-1,因为第一个单词被计算为零。在
我试图用两种方法来控制这个问题,第一种是做aString.insert(0, ' '),第二种是for i in __: if i == int: i += 1。这些都不管用。在
另外,在做.insert时,我试着在空格里放一个字符,而不是空格(因为这个部分无论如何都不会被打印出来),但那没用。在
代码如下:def wordlocator(word):
yourWord = word
print("You have chosen the following word: " +yourWord)
aString = input("What string would you like to search for the given word?")
aString = aString.lower()
aString = aString.split()
b = [(i, j) for i, j in enumerate(aString)]
c = [(i, x) for i, x in b if x == yourWord]
return c
我要找的结果是如果有人。。。在
^{pr2}$
目前这是可行的,但它会打印"3, word"。如果字符串是"that is a word and this is also a word",那么它将忽略"word"的进一步出现。
编辑:现在开始工作了,用了一段更简单的代码。谢谢大家的帮助!在