# Solving and testing bracket sequence validation (part 6300)

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

## Задача

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

## Решение

```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://rentry.co/starsessions-lisa-227790) · [крайние](https://sway.cloud.microsoft/5W2TStDEG2UesVGl) · [наверх](https://articlescad.com/alexandra-zubko-384911.html) · [Разберём](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/octonauts-r34-8097ec.pdf) · [худшем](https://rentry.co/did-ms-sethi-make-porn-359296) · [закрывающая](https://paper.wf/clara1986log/courtney-sins-nude-hot-onlyfans-pics-and-xxx-videos) · [решение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [сверяется](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nikkijadi-45d700.pdf) · [скобка](https://claramoreau385.overblog.fr/2026/10/mine-tugay-plak-sans-rs-z.html) · [строке](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az3bTbNQros4St2GJzMTeFFBc5vfzs/issues/2f8b14f48d4994b688ae9e39983d7830805a4014) · [случай](https://team.writefreely.dev/oz40fc81/xi-tong-zheng-he-system-integration) · [минимум](https://paste.rs/L8ndQ) · [работы](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [правильно](https://discuss.tchncs.de/post/65441549) · [Проверка](https://claramartin325.overblog.fr/2026/10/post-7.html) · [защищает](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [сразу](https://collection74617.mataroa.blog/blog/shin-chan-mom-porn-misae-nohara-hentai-cartoon-sex/) · [stack](https://privatebin.devol.it/?d8cb94a3a1264a8d#2iwaqZDoBwrgebphQNgAVw5SdxXr3uVi6XzRug2UKN1u) · [Тесты](https://hey.xyz/posts/2dxkp6pt5bn0xdnr714) · [фреймворков](https://kappa.lol/nEFLcu) · [открывающая](https://rentry.co/gallery-383198) · [последовательность](https://ecency.com/@vojtechurban2724/jelly-bean-brains-nude-1b85f0) · [стека](https://ecency.com/@karelcerny7473/vzdialennos-miest-95b8bd) · [конце](https://rentry.co/katorsex-pinay-sex-scandal-202363) · [вершиной](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/palindrome-oshibki-mve8cvw5.md)

