@b1ngo

Можно ли оптимизировать этот код?

Итак, пишу компилятор, начал соответственно с лексера, в нем должны убираться комментарии из кода, написал данный код, но, по мне, он выглядит громоздким. Можно ли его как то оптимизировать?
def Comment(Line):
        grille = Line.count('#')
        print(grille)
        if (grille%2 ==1):
            print('Comment error')
            sys.exit(2)
        else:
            while grille > 0:
                grille = grille - 2
                p1 = Line.find('#')
                p2 = Line.find('#', p1+1, )
                Line = Line[:p1] + Line[p2+1:]
                print (Line)
            return Line , 1
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Можно не изобретать хотя бы колесо, при изобретении велосипеда, и взять RPLY.
Ответ написан
Комментировать
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Оптимизировать код можно следующим образом:
Правильным образом поименовать функции и переменные, в соответствии с правилами, принятыми в языке.
Разделить функцию на несколько маленьких функций, чтобы каждая отвечала за одно действие. Каждая функция должна называться глаголом, обозначающим это действие.
Я внимательно не вчитывался, но у меня есть сомнения по поводу правильности кода: как он себя поведёт, если # будет внутри строки?
Для чего используется конструкция sys.exit(2)? Компилятор должен падать с ошибкой?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час