我在写一个函数,用户输入一个单词,然后输入一个字符串,这个函数识别所有出现的单词以及该单词在字符串中的位置(尽管它实际上在中途被转换成了一个列表)。在
我目前的代码只识别第一次出现的单词,没有进一步的。如果单词是字符串中的第一个单词,它也不会识别该单词,返回一个空列表。它还将显示单词的实际位置-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"的进一步出现。
编辑:现在开始工作了,用了一段更简单的代码。谢谢大家的帮助!在
这篇博客讨论了一个Python函数的问题,该函数旨在查找用户指定单词在输入字符串中所有出现的位置。作者指出,当前代码只能找到单词的首次出现,并且在处理字符串的第一个单词时有误。为了解决这些问题,作者尝试了几种方法,包括在字符串开头插入空字符以及调整索引计数,但都没有成功。最终,作者通过简化代码解决了问题。现在,函数能够正确地识别并返回单词在字符串中所有位置的索引。
1132

被折叠的 条评论
为什么被折叠?



