2014-09-17 3 views
0

Я написал этот код, который побуждает пользователя вводить пять разных тестов, а затем сохраняет его в файле test.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() 

ответ

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() 
+0

Это сработало. СПАСИБО! – nanaquit

0

При открытии файла с опцией 'w', вы перезаписать старый файл каждый раз. Вместо этого откройте его в режиме добавления, используя

open('test.txt','a') 

EDIT: @paxdiablo указал на запись в вопросе находится вне цикла, и из-за этого мой ответ не будет работать. Однако, если вы закроете файл, затем хотите добавить его позже, вы можете использовать режим добавления.

+0

это очень полезно. Спасибо! – nanaquit

Смежные вопросы