Не всё комментируй, например у тебя большой код и один цикл считывает строчку, слово, цифри или ещё что то, а ты смотришь на неё и не вдупляешь что это такое, а потом к херам её удаляешь :-D комментируй только то что тебе не понятно и в больших кодах
Каждую строчку - конечно нет. Лично я вижу смысл комментировать в двух случаях - оставлять для самого себя комментарии, там где в коде используется сложный алгоритм, какая то не очевидная математическая формула. И второй случай - иногда стоит описать что делает метод, или функция, так что бы тому кто их будет использовать не надо было лезть дальше и разбираться как оно работает, что бы он сразу всё понял из этого краткого описания и использовал метод или функцию по назначению. А вообще в идеале - надо писать такой код, в котором по названию публичных методов будет сразу всё понятно без комментариев. ..Но если код создаётся для того что бы им пользовались другие люди с которыми мы не имеем возможности лично общаться, то желательно прокомментировать методы, независимо от того как идеально написан код, но не обязательно, на усмотрение автора.
Код должен читаться как рассказ безо всяких комментариев. А вот например в приведенном тобой фрагменте гомнокода сразу после цикла должен идти вызов какого-то правильно названного (!) метода, а не вся эта галиматья с отступом на пол-экрана. В общем, почитай что-нибудь полезное по CleanCode, что ли... Из всего этого есть одно исключение: принятое нынче в .net документирование методов (которое с ///). Описание метода используется в окне подсказок - очень удобно.
Много мнений на эту тему есть на самом деле, но уж точно не надо делать так: if n.isdigit(): #Если строка является числом n = int # Преобразуем ее в целое число В хорошем коде в комментариях нуждаются лишь необычные решения и конструкции и пожалуй крупные функции (при их создании), в работе которых есть тонкости. Используйте говорящие названия переменных, функций, методов и будет вам счастье