【问题标题】:Python duplicate words written into an outFile - where to define "i"Python重复单词写入outFile - 在哪里定义“i”
【发布时间】: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-askstackoverflow.com/help/minimal-reproducible-example 并回到这个问题。对我来说最关键的一点是,你没有报告你遇到了什么问题,没有评论你为什么期待不同的东西,也没有提供足够的上下文来按原样运行你的代码。
  • @HugoRad-- 是重复出现在一行中任何地方两次以上的单词或重复的单词,例如“Rage, rage...”?
  • @DarryIG 这是一个在一行中重复的单词。因此,如果“rage rage ...”出现在不止一行中,则两条行都会出现。希望有帮助!

标签:
python
loops
file
count
duplicates