Помощь в line.startswith()

Нужна помощь в line.startswith(). Нужно чтобы в "линии" было слово начинающиеся на " и заканчивающиеся на ". Делал так: elif line.startswith(r'".+?"'):

main.py

class MainInterpreter:
    def __init__(self):
        self.console = {}
        self.functions = {}

    def interpret(self, program):
        lines = program.split("\n")
        for line in lines:

            if line.startswith("console.say"):
                parts = line.split(" ")
                if parts[1] in self.console:
                    print(self.console[parts[1]])
                else:
                    print("Ошибка 100: Переменная без значения: " + parts[1])
                if parts[1].startswith('"') and parts[1].endswith('"'):
                    print(parts[1])

            elif line.startswith("console.get"):
                parts = line.split(" ")
                if len(parts) == 2:
                    print(f"{self.console.get(parts[1])}")
                else:
                    print("Ошибка 200: Неправильное построение. Имели вы в виду: console.get название_переменной?")

            elif line.startswith("ent"):
                parts = line.split(" ")
                if len(parts) == 4:  # проверка на то, что, правильно ли пользователь указал построение? (тип название значение)
                    if parts[2] == "=":
                        try:
                            self.console[parts[1]] = int(parts[3])
                        except:
                            print(
                                'Ошибка 101: Неверное значение числовой переменной. Значение должно быть целым и от -2 147 483 648 до 2 147 483 647.')
                    else:
                        print("Ошибка 300: Неверный знак присвоения или сравнения.")
                else:
                    print("Ошибка 201: Неправильное построение. Имели вы в виду: тип название = значение?")

            elif line.startswith("frac"):
                parts = line.split(" ")
                if len(parts) == 4:  # проверка на то, что, правильно ли пользователь указал построение? (тип название значение)
                    if parts[2] == "=":
                        try:
                            self.console[parts[1]] = float(parts[3])
                        except:
                            print(
                                "Ошибка 102: Неправильное значение числовой переменной. Значение должно быть дробным и от -3.4028235E+38 до 3.4028235E+38.")
                    else:
                        print("Ошибка 300: Неверный знак присвоения или сравнения.")
                else:
                    print("Ошибка 201: Неправильное построение. Имели вы в виду: тип название = значение?")

            elif line.startswith("lin"):
                parts = line.split(" ")
                if len(parts) == 4:  # проверка на то, что, правильно ли пользователь указал построение? (тип название значение)
                    if parts[2] == "=":
                        if parts[3] == r'+?':
                            try:
                                self.console[parts[1]] = str(parts[3])
                            except:
                                print(
                                    "Ошибка 103: Неверное значение строчной переменной. Значение должно состоять из букв и цифр.")
                    else:
                        print("Ошибка 300: Неверный знак присвоения или сравнения.")
                else:
                    print("Ошибка 201: Неправильное построение. Имели вы в виду: тип название = значение?")

            elif line.startswith("bool"):
                parts = line.split(" ")
                if len(parts) == 4:  # проверка на то, что, правильно ли пользователь указал построение? (тип название значение)
                    if parts[2] == "=":
                        if parts[3] == "true":
                            self.console[parts[1]] = True
                        elif parts[3] == "false":
                            self.console[parts[1]] = False
                        else:
                            print(
                                "Ошибка 104: Неверное значение булевой переменной. Оно должно равняться 'true' или 'false'.")
                    else:
                        print("Ошибка 300: Неверный знак присвоения или сравнения.")
                else:
                    print("Ошибка 201: Неправильное построение. Имели вы в виду: тип название = значение?")

            elif line.startswith("start"):
                pass

            elif line.startswith("FD"):
                print(f"P: {program}")
                print(f"L: {lines}")
                print(f"C: {self.console}")
                print("!WARNING! FD-Mode in beta test, if you find bug(s) write me on GitHub")

            else:
                print("Ошибка: Неизвестная команда.")

interpreter = MainInterpreter()

program = ""

while True:
    try:
        sprogram = str(input())
        program = program + '\n' + sprogram
        if sprogram == "start":
            interpreter.interpret(program)

    except:
        exit()

Ответы (0 шт):