Arrays with loops
我需要能够编写一个程序,它接收一个文件,然后返回一个令牌数组,然后在数组中循环,每行打印一个令牌,然后删除所有标点和小写的每个单词,然后计算在整个文件中出现请求的单词的次数。问题是我在返回数组时遇到问题,我不太确定如何创建数组,它允许用户键入任何单词或任意多的单词,然后让程序在文件中搜索以查找这些单词…..我花了8个小时,这就是我目前拥有的全部内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import sys from scanner import * def main(): tokens = readTokens("shakespeare.txt") for i in range(0,len(tokens),1): print(tokens[i]) def readTokens(fileName): with open("shakespeare.txt", 'r') as f: return f.read().split() token = s.readtoken() while (token !=""): print(token) token = s.readtoken() s.close() main() |
这是stackoverflow,所以你不可能让别人为你编写整个程序…我假设您的问题更多地是关于如何处理这个问题,而您使用的是Python
分而治之是你的朋友
尝试上述方法,并提出一个更实用的解决方案(您的代码目前看起来仍然在学习某些核心编程思想)。在那之后,你可以考虑让它更快/更可读,等等。如果你详细说明你的尝试,它将帮助社区更好。
这就是您如何读取整个文件以及如何在所有空间拆分它:
1 2 3 | def readTokens(filename): with open(filename, 'r') as f: return f.read().split() |