@Foxford12

Этот код выводит переменную N поочередно, когда я хочу, чтобы он выводил ее в файл, он выводит только последнее значение N = 10 как это исправить?

n = 0
while n != 10:
    n += 1
    f = open('n.txt', 'w')
    f.write(f'n={n}')
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 3
@igor6130
Нужно поместить цикл, записывающий значения, внутрь операции открытия файла.
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
режим 'w' означает что файл открыт на запись, при открытии в таком режиме указатель старта записи находится вначале файла. Так как вы не двигаете указатель - содержимое просто записывается с начала поверх старого.
Для логов - файлов записываемых последовательно есть режим 'a' - указатель помещается в конец файла и операции записи добавляют данные. И также нужно будет добавить символы перевода строки - иначе все будет в одну строку.
Ответ написан
Комментировать
@krolchonok
n = 0
while n != 10:
    n += 1
    f = open('n.txt', 'a')
    f.write(f'n={n}')


ключ a открывает файл для дополнения в конце

n=1n=2n=3n=4n=5n=6n=7n=8n=9n=10


n = 0
while n != 10:
    n += 1
    f = open('n.txt', 'w')
    f.write(f'n={n}\n')


Либо так, с переносом строки


n=1
n=2
n=3
n=4
n=5
n=6
n=7
n=8
n=9
n=10
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы