# Solving and testing bracket sequence validation (part 98bb)

Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.

## Задача

Проверить, правильно ли расставлены скобки в строке из символов `()[]{}`.

## Решение

```python
def is_balanced(s: str) -> bool:
    pairs = {')': '(', ']': '[', '}': '{'}
    stack = []
    for ch in s:
        if ch in '([{':
            stack.append(ch)
        elif ch in pairs:
            if not stack or stack.pop() != pairs[ch]:
                return False
    return not stack


print(is_balanced("([]{})") )
```

## Как это работает

Это классическое применение стека: открывающая скобка кладётся наверх, закрывающая сверяется с вершиной. Если в конце стек пуст — последовательность верна.

## Пример работы

```text
True
```

## Сложность

O(n) по времени, O(n) по памяти в худшем случае.


## Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.

```python
assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай
```

Такой минимум уже защищает от случайной ошибки при правках кода.

Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.

**Читайте также:**

[тестами](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [скобки](https://statics.pancake.vn/web-media-264/ae/58/60/bc/f4b9d02046000e8791333176f26c2fe5b048fb9fd7c9fef541cfa373.pdf) · [символов](https://yakihonne.com/article/naddr1qvzqqqr4gupzpyn6zc5kd5k5nk32uaqa0j337n5zms43xx666a0vzuy8pwf69dxqqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknqdnyxc6rve3j956kzvp4956r2ve595uxzve595mngvesxqukyve5vscrz35kq3m) · [классическое](https://alenafischer34.wixsite.com/my-site-1/post/spy-x-family-anya-rule-34) · [Проверка](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/grandmas-huge-tits-splattered-with-cum-p-897d11.pdf) · [накроем](https://ecency.com/@lukaskral2261/funnycams-9ec66e) · [проверять](https://discuss.tchncs.de/post/65439971) · [stack.append(ch](https://haikyuu.su/naimei0727?f=linkcentre) · [примерах](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-400a9e.pdf) · [ошибки](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [python](https://www.imagefap.com/pictures/14230156/chloeyummyx-leaks-big-ass-big-tits-nude-onlyfans-videos) · [последовательность](https://archive85443.mataroa.blog/blog/21/) · [применение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [кладётся](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kira-pregiato-onlyfans-ec088f.pdf) · [вершиной](https://ecency.com/@vojtechurban2724/jelly-bean-brains-nude-1b85f0) · [pairs](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/binary-search-razbor-mvbx5hr9.md) · [stack.pop](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/fibonacci-tests-mvc1bu3c.md) · [решение](https://sway.cloud.microsoft/9WpDqd0DuRFS8jw3) · [худшем](https://annafournier654.overblog.fr/2026/10/benpoine.html) · [включая](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gay-furry-porn-comics-may-the-best-man-w-2aacfb.pdf) · [Такой](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/colours-of-autumn-booty-f001f7.pdf) · [False](https://rentry.co/vlad-o-chka-leaks-826188) · [памяти](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2wvpKwifme6Tz52JjZrPfnTvMbqf/issues/aace2f3cfd1af450a06f45a3a94f5d84b748ff2e) · [правильно](https://marieroux757.overblog.fr/2026/10/duygu-dokuyucu-nude-g-r-nt-ler-ortaya-kt.html) · [крайние](https://rentry.co/qqvfr2xd) · [случай](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3538) · [правках](https://radicle.network/nodes/seed.pipapo.org/rad%3Az4TEyN9zzddhedSjDfq4czQJYNjL9/issues/b56fe73d51779210ccc2f9925b1cfdd35ef5e4ad) · [удобны](https://paper.wf/mila1975log/image-of-the-bible) · [строке](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-fcc540.pdf) · [сразу](https://sway.cloud.microsoft/buOWafTxXuPyBss8)

