【发布时间】:2013-11-19 19:25:30
【问题描述】:
我的目标是打开一个文件并将其拆分为唯一的单词并显示该列表(以及数字计数)。我想我必须将文件拆分为行,然后将这些行拆分为单词并将其全部添加到列表中。
问题是,如果我的程序将在无限循环中运行并且不显示任何结果,或者它只会读取一行然后停止。正在读取的文件是葛底斯堡地址。
def uniquify( splitz, uniqueWords, lineNum ):
for word in splitz:
word = word.lower()
if word not in uniqueWords:
uniqueWords.append( word )
def conjunctionFunction():
uniqueWords = []
with open(r'C:\Users\Alex\Desktop\Address.txt') as f :
getty = [line.rstrip('\n') for line in f]
lineNum = 0
lines = getty[lineNum]
getty.append("\n")
while lineNum < 20 :
splitz = lines.split()
lineNum += 1
uniquify( splitz, uniqueWords, lineNum )
print( uniqueWords )
conjunctionFunction()
【问题讨论】:
-
您的缩进是否正确,或者您在此处创建问题时只是复制/粘贴问题?
-
为什么需要 lineNum 作为函数 uniquify 的参数?
-
我使用 lineNum 来引用文件中的每一行。对于 uniquify 函数,我尝试将 lineNum += 1 与 if 语句一起放入 uniquify 函数中。
-
你没有推进你的 while 循环,你只是继续粘贴同一行,直到计数器达到 20
-
@turbo 在意识到这个简单的错误后才修复它,谢谢!