我试图让我的程序写一个列表到一个文本文件。我把它改成了一个字符串,它创建了文本文件,但它是空的。我还得到它来打印变量,我试图写到文本文件,它出来完全一样,它应该。你知道吗
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)
下面是如何使用输出(列表)写入文件:
你应该正确地将你的输出列表转换成字符串,尝试使用
更新: 我编辑了如下代码,并让一个朋友在他的电脑上运行它,它做了它应该做的,但仍然不能在我的电脑上工作。我现在比当初更困惑了。可能是另一个程序有问题吗?你知道吗
相关问题 更多 >
编程相关推荐