这是我应该做的:
该程序是您以前的“猫头鹰”程序的扩展。您可以 在这里找到您以前的程序!
除了仅报告owl一词包含多少个词外, 您应该报告单词出现的索引!
这是程序的示例运行:
Enter some text: Owls are so cool! I think snowy owls might be my favorite. Or maybe spotted owls.
其中包含3个字 “猫头鹰”。它们发生在以下索引处:
[0, 7, 15]
输出,则必须使用另一个列表将索引存储在您的位置 找到包含“猫头鹰”的单词。枚举功能也可能派上用场!
这是我现在的代码:
text = input("Enter some text: ")
text.lower()
text.split()
print "There are " + str(text.count("owl")) + " words that contained \"owl\"."
print "They occured at indices: for c, value in enumerate(text, 1):
print(c, value)
我绝对不知道如何使用enumerate
函数。我现在使用enumerate
函数的方式是从其他网站获得的。当我尝试运行此代码时,首先得到的是此错误:
Error: Line 5
ParseError: bad token on line 5
据此,我知道我使用enumerate
的方式是错误的。但是,我不知道使用它的正确方法。
答案 0 :(得分:1)
在此行中:
print "They occured at indices: for c, value in enumerate(text, 1):
print(c, value)
您还没有使用"
结束字符串,因此Python会继续读取越来越多的字符串(假设该字符串还有更多内容,直到到达文件末尾)。作为部分,您不需要这样做:for c, value in enumerate(text, 1):
是您要Python执行的命令,它本身并不是您要Python打印的字符串。首先,我们关闭您的字符串:
print "They occured at indices: "
for c, value in enumerate(text, 1):
print(c, value)
这应该消除您的错误,但是会打印错误的答案。您在该行中还有另一个问题:text.split()
,您不仅仅了解split()
的工作方式。我将把这部分留给您研究。