Есть две проблемы с вашим кодом.Вы пропускаете двоеточие после условия в цикле while
(оно должно быть while True
), что является синтаксической ошибкой.
Более важно, ваша логика неверна;результат input
всегда является строкой, которая никогда не будет сравниваться равной целому числу;соответственно нужно его разыграть.Поскольку приведение может завершиться неудачно, вам также необходимо соответствующим образом проверить ввод;что-то вроде этого, возможно:
while True:
line = input(“number: “)
if (line.isdigit()) and (int(line) == 10):
break
Что касается вашего первоначального вопроса, это не имеет значения.
Строго говоря, текстовый файл должен заканчиваться символом новой строки .Некоторые программы работают не очень хорошо, если они этого не делают.
В наше время, и учитывая, насколько высокоуровневый Python - и его набор инструментов - вы, вероятно, не столкнетесь с какими-либо проблемами.Тем не менее, ваша IDE должна автоматически добавлять новую строку в конце (если нет, вы должны быть в состоянии настроить ее), и в целом лучше соблюдать PEP8, пока вы не наберете достаточно опыта, чтобы понять, когда этого не следует.