私のプログラムがリストをテキストファイルに書き込もうとしています。私はそれを文字列に変更し、それはテキストファイルを作成しますが、それは空です。また、テキストファイルに書き込もうとしている変数を出力するようにしました。それは想定されているとおりに正確に出力されます。pythonをテキストファイルに書き込むことができません、私に空のファイルを与えます
import string
import re
wholeLine = ""
file = open("bowlingscores.txt", "r")
for line in file:
line = line.strip()
wholeLine += line
scores = re.findall('\d+', wholeLine)
names = re.findall('\D+', wholeLine)
file.close()
scores = list(map(int,scores))
validScores = [x for x in scores if 300 >= x >= 0]
average = sum(validScores)/len(validScores)
numScores = len(scores)
output = []
for i in range(numScores):
if scores[i] == 300:
output.append(names[i])
output.append("\nperfect")
if scores[i] == average:
output.append(names[i])
output.append("\naverage")
if scores[i] < average:
output.append(names[i])
output.append("\nbelow average")
if scores[i] > average:
if scores[i] <300:
output.append(names[i])
output.append("\nabove average")
if scores[i] > 300:
output.append(names[i])
output.append("\ninvalid score")
outputFile = open('bowlingaverages.txt', 'w')
outputFile.write(str(output))
outputFile.close
print(output)
私には最初のループに問題があるかもしれませんが、そこにはスコアと他のすべての変数が上書きされるため、最後の行の値のみが含まれています。空であるか、それから何も得られない、結果として何も得られない – Copperfield