我写了这段代码,提示用户输入五个不同的考试分数,然后将其保存到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()发布于 2014-09-17 10:36:10
这是因为将分数写入文件时发生在循环之外,这意味着只写入最后一个值。
您需要将该行移动到循环中,以便写入每个分数:
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()发布于 2014-09-17 10:37:24
当您使用选项'w'打开文件时,每次都会覆盖旧文件。而应在追加模式下打开它,使用
open('test.txt','a')编辑:@paxdiablo指出问题中的写在循环之外,因此我的答案不起作用。但是,如果您关闭文件,然后想要添加到它,您可以使用追加模式。
https://stackoverflow.com/questions/25881369
复制相似问题