【发布时间】:2023-04-02 18:34:01
【问题描述】:
如果这是问我问题的不正确方式,我深表歉意。这是我第一次在 Stack 上发帖。
我的 inFile 是这首诗的六行编辑,不要温柔地进入深夜。它应该打印出一个 outFile,其中包含包含大于 3 个字母的单词的行,即重复。例如,“rage rage against the death of the light”会因为“rage”而被打印出来。
edit:当我运行它时,它给我一个错误,说“i”未定义。
哦,我不能使用任何模块。
这是我的代码:
def duplicateWordLines(inFile,outFile):
inFile=open(inFileName, "r")
outFile=open(outFileName, "w")
for line in inFile:
words=line.split() #split the lines
og=[] #orignal words
dups=[] #duplicate words
for word in words: #for each word in words
if og.count(i)>0 and line not in dups: #if the word appears more than once and not already in duplicates
dups.append(line) #add to duplicates
else: #if not a duplicate
og.append(i) #add to the original list - not to worry about it
for line in dups: #for the newly appended lines
outFile.write(line+'\n') #write in the outFile
#test case
inFileName="goodnightPoem.txt"
outFileName="goodnightPoemDUP.txt"
duplicateWordLines(inFileName,outFileName)
#should print
#rage rage against the dying of the light
#do not go gentle into that good good night
谢谢!
【问题讨论】:
-
只要看一眼你的代码,我就可以看到它无法编译。
og.count(i)
--i
没有在任何地方定义 -
您可能应该阅读stackoverflow.com/help/how-to-ask 和stackoverflow.com/help/minimal-reproducible-example 并回到这个问题。对我来说最关键的一点是,你没有报告你遇到了什么问题,没有评论你为什么期待不同的东西,也没有提供足够的上下文来按原样运行你的代码。
-
@HugoRad-- 是重复出现在一行中任何地方两次以上的单词或重复的单词,例如“Rage, rage...”?
-
@DarryIG 这是一个在一行中重复的单词。因此,如果“rage rage ...”出现在不止一行中,则两条行都会出现。希望有帮助!
标签:
python
loops
file
count
duplicates
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python重复单词写入outFile – 在哪里定义“i” - Python技术站