# Solving and testing bracket sequence validation (part 6787)

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

## Задача

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

## Решение

```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://articlescad.com/aleks-kseny-387431.html) · [Такой](https://jaflysilve.freeflarum.com/d/4509-4509-ilayda-erkanifsa) · [Пример](https://writefreely.ethibox.fr/oza003bc/siarly-mami-twitter-profile-siarlyxo-social-media) · [Тесты](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/russianbare-com-e43ee7.pdf) · [кодом](https://jaflysilve.freeflarum.com/d/4489-4489-guo-chan-gvzai-xian-guan-kan-mian-fei-da-quan-zhi-nan-she-cheng-shi-xi-ren-wang-hao-ran-san-bu-qu-guo-chan-xiong-pian-gong-fu-xiong-mao-ji-duo-ren-ji-qing-jing-pin-tong-zhi-gvzi-yuan-gao-qing-he-ji) · [включая](https://statics.pancake.vn/web-media-264/59/6d/2e/3a/019c6e1c3555ce58efb1013fb56478f18e643ecf7f5992df6d615c01.pdf) · [минимум](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-4d2ebc.pdf) · [Хорошая](https://gall.dcinside.com/mgallery/board/view/?id=thekpop&no=64471) · [учебных](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/fibonacci-shagi-mvges50z.md) · [stack](https://jaflysilve.freeflarum.com/d/4607-4607-aaagab-mn-aol-lkaaa-shahd-nyk-mtrgm) · [return](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Проверка](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [крайние](https://juliaroux716.overblog.fr/2026/10/post-0.html) · [False](https://paper.wf/dianasvoboda98log/turk-turbanli-ifsa-paylasim-atsulu8314) · [Задача](https://sway.cloud.microsoft/TQ1JKvqWZFiqJcnn) · [проверка](https://victorricci75.wixsite.com/my-site-1/post/%E8%8E%89%E5%A8%9C%E4%BF%9D%E7%BD%97) · [применение](https://articlescad.com/julio-jose-hidden-cam-photos-secret-camera-gallery-387379.html) · [assert](https://ecency.com/@zdenekpospi7879/sexuele-voorlichting-1991-full-movie-25e046) · [stack.append(ch](https://i-imagehost.com/solaraeesther-sf?f=instapaper) · [короткие](https://rentry.co/instagram-viral-mms-porn-389083) · [расставлены](https://drop.xtrafrancyz.net/selif/u7twu01n2e.pdf) · [базовая](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gizem-ba-da-i-ek-onlyfans-ifsa-6c89c2.pdf) · [времени](https://kappa.lol/FXe1Ks) · [накроем](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ilayda-erkan-if-a-c62a2e.pdf) · [stack.pop](https://blogfreely.net/nataliarussell2/liseli-turk-ifsa-cbgn) · [примерах](https://blogfreely.net/nataliarussell2/jb-mn-wl-lq-shhd-nyk-mtrjm) · [сразу](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [памяти](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/t-rbanl-sotwe-a1ea03.pdf) · [открывающая](https://privatebin.devol.it/?a235f048e261a880#H8whUpHPSAFgyR3ztberuQxN4R24rxHa8GXXMc7xKdk8) · [скобки](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/markus-rokar-full-video-c6ee42.pdf)

