Не могу понять почему ответы не сохраняются в файле. Надо ввести имя пользователя неоднократное кол-во раз
with open('guest_book', 'w') as file_object:
while True:
name = input('')
if name == 1:
break
file_object.write(name)
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Предположу, что цикл ввода вы завершаете сами нажатимем Ctrl-C (ваше условие с break не сработает, потому что при сравнение строки и числа ответ всегда False). Из-за этого всё, что вы ввели не записывается в файл (особенность работы буфера записи в файл).
Чтобы исправить эту ошибку достаточно сравнивать ввод со строкой, при которой нужно завершить цикл ввода.
with open('guest_book', 'w') as file_object:
while True:
name = input('')
if name == '1': # <---
break
file_object.write(name)
Однако так все "имена", введенные пользователем, будут записаны в одну строку и без разделителя. Так добавим же разделитель
file_object.write(name + '\n')
Ну и добавлю "современный" код
with open('guest_book', 'w') as file_object:
while (name:=input('')) != '1':
file_object.write(name + '\n')