# Writing tests for bracket sequence validation (part 82b2)

Посмотрим на задачу глазами разработчика: сначала решение, затем убеждаемся в его корректности.

## Задача

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

## Решение

```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://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/my-step-mom-gives-me-nuru-massage-nina-e-d099e3.pdf) · [корректности](https://team.writefreely.dev/oz6a42fa/julia-tica-onlyfans-leaked-nude-videos-and-photos) · [pairs](https://drop.xtrafrancyz.net/selif/vim6r0kkjm.pdf) · [кладётся](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [скобка](https://archive90536.mataroa.blog/blog/ximena-saenz-leaks-exclusive-onlyfans-videos-and-photos/) · [pairs[ch](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starsessions-michelle-d9833a.pdf) · [фреймворков](https://drop.xtrafrancyz.net/selif/l4lw7554ui.pdf) · [классическое](https://articlescad.com/scp-173-porn-hot-rule34-pics-of-the-sculpture-monster-388130.html) · [сразу](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [return](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [памяти](https://yakihonne.com/article/naddr1qvzqqqr4gupzqcn3zv32umu86wc8gjcq6er9jcpd4k9zs6sj937ghsej08fse4udqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkyv3cx33rsvn9956njefe956rvdpe943rwvej95mngvmpvgcngcfsvyenwujqfwt) · [второй](https://ecency.com/@karelcerny7473/xvideos-com-melissa-montagnole-v-deos-e-fotos-sensuais-f4be9b) · [Задача](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/karinka-pedro-nude-897390.pdf) · [решение](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-a6c08b.pdf) · [Хорошая](https://kappa.lol/muMLIV) · [случай](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/quicksort-razbor-mvh4k8xg.md) · [наглядные](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kapal-k-yl-porno-ae596f.pdf) · [stack](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/alyzoo-4505cb.pdf) · [случае](https://lindbergdavid38.wixsite.com/my-site-1/post/silver-pearls-imx-to) · [верна](https://jaflysilve.freeflarum.com/d/4760-4760-evgeniia-neronskaia-68-otkrovennyx-foto-modeli-i-miss-maxim-2008) · [python](https://ecency.com/@adamsvoboda1644/sahin-k-kahyanin-karisini-sikiyor-bc9c16) · [stack.pop](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/wallpapers-for-laptop-9b14fc.pdf) · [наверх](https://kappa.lol/2GsuZs) · [базовая](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/li-na-zhao-7adbe8.pdf) · [проверка](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sude-benli-6e47fd.pdf) · [работы](https://blogfreely.net/nataliarussell2/private-delights-adult-photo-gallery) · [скобки](https://magasol.vip/vlad_o_chka+leaks?f=linkcentre)

