Получил предупреждение «PEP 8: нет новой строки в конце файла».Это влияет на мой код? - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь настроить цикл while в pycharm, который остановится, только если вы введете число 10. Вместо этого, когда я наберу 10, он попросит меня ввести другое число.Нет никаких синтаксических ошибок при запуске.Я получил предупреждение: «PEP 8: в конце файла нет новой строки».Может ли это быть как-то связано с тем, почему это не работает так, как должно?

Я пытался напечатать число перед использованием break.

while True
    line = input(“number: “)
    if line == 10:
        break

Я ожидал, что программа остановится, когда пользователь введет 10 во вводе.Он продолжает спрашивать номера вместо остановки.

1 Ответ

1 голос
/ 24 июня 2019

Есть две проблемы с вашим кодом.Вы пропускаете двоеточие после условия в цикле while (оно должно быть while True), что является синтаксической ошибкой.

Более важно, ваша логика неверна;результат input всегда является строкой, которая никогда не будет сравниваться равной целому числу;соответственно нужно его разыграть.Поскольку приведение может завершиться неудачно, вам также необходимо соответствующим образом проверить ввод;что-то вроде этого, возможно:

while True:
    line = input(“number: “)
    if (line.isdigit()) and (int(line) == 10):
        break

Что касается вашего первоначального вопроса, это не имеет значения.

Строго говоря, текстовый файл должен заканчиваться символом новой строки .Некоторые программы работают не очень хорошо, если они этого не делают.

В наше время, и учитывая, насколько высокоуровневый Python - и его набор инструментов - вы, вероятно, не столкнетесь с какими-либо проблемами.Тем не менее, ваша IDE должна автоматически добавлять новую строку в конце (если нет, вы должны быть в состоянии настроить ее), и в целом лучше соблюдать PEP8, пока вы не наберете достаточно опыта, чтобы понять, когда этого не следует.

...