我编写了这段代码,提示用户输入五个不同的测试分数,然后将其保存到tests.txt但是当我打开文件tests.txt时,它只显示输入的最后一个数字而不是所有五个数字。我的代码有什么问题导致了那个??
以下是代码:
scorefile=open('test.txt','w')
for count in range(1,6):
print('Please enter test scores')
score=input('Test score:')
scorefile.write(str(score) + '\n')
scorefile.close()
答案 0 :(得分:3)
这是因为将分数写入文件发生在外部循环中,这意味着只写入最后一个值。
您需要在循环内移动该行,以便每个分数被写入:
scorefile=open('test.txt','w')
for count in range(1,6):
print('Please enter test scores')
score=input('Test score:')
scorefile.write(str(score) + '\n')
scorefile.close()
答案 1 :(得分:0)
使用选项'w'
打开文件时,每次都会覆盖旧文件。而是使用
open('test.txt','a')
编辑:@paxdiablo指出问题中的写入是在循环之外,因此我的答案不会起作用。但是,如果您关闭文件,然后想要稍后添加,则可以使用追加模式。