История изменений
      
        Исправление
      rtxtxtrx,
      
        (текущая версия)
      :
    
Можно проще эти шарады решать:
class ExpressionSolver:
    index = 0
    expression = ""
    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False
    def solve(self, expression: str):
        self.expression = expression
        self.index = 0
        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10
            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"
            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"
            print(result)
            if self.accept("+"):
                continue
        assert self.accept(")"), "Invalid expression"
        assert self.index == len(expression), "Invalid expression"
        return result
def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)
assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)
assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)
❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780
Этот код DickSeek/Qwen/ChatGPT точно перепишут на Go, так что все скомпилиться. ГовноAI не умеет в такие шарады. Однако задачи от яндексов и тп легко «решает», скорее всего потому, что до меня никто эту говнокапчу не пытался разгадать.
      
        Исправление
      rtxtxtrx,
      :
    
Можно проще эти шарады решать:
class ExpressionSolver:
    index = 0
    expression = ""
    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False
    def solve(self, expression: str):
        self.expression = expression
        self.index = 0
        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10
            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"
            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"
            print(result)
            if self.accept("+"):
                continue
        assert self.accept(")"), "Invalid expression"
        assert self.index == len(expression), "Invalid expression"
        return result
def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)
assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)
assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)
❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780
Этот код DickSeek/Qwen/ChatGPT точно перепишут на Go, так что все скомпилиться. ГовноAI не умеет в такие шарады. Одна задачи от яндексов и тп легко «решает», скорее всего потому, что до меня никто эту говнокапчу не пытался разгадать.
      
        Исправление
      rtxtxtrx,
      :
    
Можно проще эти шарады решать:
class ExpressionSolver:
    index = 0
    expression = ""
    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False
    def solve(self, expression: str):
        self.expression = expression
        self.index = 0
        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10
            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"
            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"
            print(result)
            if self.accept("+"):
                continue
        assert self.accept(")"), "Invalid expression"
        assert self.index == len(expression), "Invalid expression"
        return result
def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)
assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)
assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)
❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780
Этот код DickSeek/Qwen/ChatGPT точно перепишут на Go, так что все скомпилиться.
      
        Исходная версия
      rtxtxtrx,
      :
    
Можно проще эти шарады решать:
class ExpressionSolver:
    index = 0
    expression = ""
    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False
    def solve(self, expression: str):
        self.expression = expression
        self.index = 0
        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10
            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"
            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"
            print(result)
            if self.accept("+"):
                continue
        assert self.accept(")"), "Invalid expression"
        return result
def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)
assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)
assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)
❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780