私はこの質問を、カウンターを使った宿題の前にしました。今、私は決勝で同じ質問をしています。私は辞書を覚えておきたいと思います。代わりに辞書を使ってこの問題を解決しようとしました。repeatCount関数は私に正しい答えを与えません。なぜこれが起こるのですか?
問題は、関数名repeatCountを作成することでした。この関数の目的は、入力ファイルの各行を読み込み、複数回出現する行の単語数を特定し、その数値を出力ファイルの行に書き込むことです。
入力ファイルのテキストはこれです:
Woke up this morning with an ache in my head
I splashed on my clothes as I spilled out of bed
I opened the window to listen to the news
But all I heard was the Establishment Blues
私の出力ファイルは、次のようになります。
0
2
3
2
正しい出力は次のようになります。だからここ
0
1
2
0
は私のコードです今。私のコードの特定の部分は、Pythonが私に間違った答えを与える原因になりますか?:
def repeatCount(inFile, outFile):
inF = open(inFile, 'r')
outF = open(outFile, 'w')
d = {}
for line in inF.readlines():
count = 0
words = line.split()
for word in words:
if word not in d:
d[word] = 1
elif word in d:
d[word] += 1
if d[word] > 1:
count += 1
outF.write(str(count) + "\n")
print(repeatCount('inputFile.txt', 'outputFile.txt'))
それは助けた!私の上の人の答えは同じことをしましたが、彼は私のコードをもう少し修正しました。私はちょうどあなたが言ったことに続き、それは単に私に正しい答えをくれました! – Jorgan