У цикла while есть условие, и цикл будет продолжать выполняться, пока условие выполняется.
while some_condition:
//Do some stuff
//Change your condition if necessary
Пока условие some_condition оценивается как True, код внутри области действия вашего цикла будет продолжать выполняться. Если ваше условие никогда не станет ложным, то ваш цикл будет выполняться вечно.
Что вам нужно сделать, это решить условие, которое вы будете использовать для продолжения циклического прохождения кода, а затем при необходимости измените это условие на основе вашего ввода. Вот мой пример, который будет читать имена, пока не будет введено слово «END».
with open("visitor.txt", "a") as f:
accept_more_visitors = True
while accept_more_visitors:
input_value = input("Please write your name, or 'END' if you are done.")
if input_value == "END":
break
f.write(input_value)
Еще одно ключевое отличие состоит в том, что вы открываете файл с флагом "w", который перезапишет файл. Возможно, вам нужен флаг «а», который будет добавлен в конец.