# Solving and testing anagram checking (part 8c99)

Решение без тестов быстро ломается, поэтому добавим к задаче простые проверки.

## Задача

Определить, являются ли две строки анаграммами: состоят из одних и тех же букв с одинаковой частотой.

## Решение

```python
def are_anagrams(a: str, b: str) -> bool:
    return sorted(a.lower()) == sorted(b.lower())


print(are_anagrams("listen", "silent"))
```

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

Анаграммы дают одинаковые отсортированные последовательности букв. Сортировка — простое и наглядное решение; словарь частот дал бы ту же проверку без сортировки.

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

```text
True
```

## Сложность

O(n log n) из-за сортировки, O(n) по памяти.


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

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

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

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

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

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

[нескольких](https://ninafournier129.overblog.fr/2026/10/saraloverke.html) · [из-за](https://c0.pics/warhammer+40000+hentai?f=instapaper) · [удобны](https://rentry.co/ghfko92i) · [отсортированные](https://discuss.tchncs.de/post/65439903) · [минимум](https://hey.xyz/posts/r5513kcrv1742mjjf6) · [добавим](https://blogfreely.net/nataliarussell2/lillias-right-video) · [требуют](https://rentry.co/fko-cx-277140) · [Хорошая](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/babytanaxo-769259.pdf) · [Проверка](https://saffana.pk/%D8%A7%D9%81%D9%84%D8%A7%D9%85+%D8%B3%D9%83%D8%B3+%D8%B3%D8%AD%D8%A7%D9%82+%D9%85%D8%AA%D8%B1%D8%AC%D9%85+%D8%B9%D8%B1%D8%A8%D9%8A?f=instapaper) · [тестов](https://ivansmith91.wixsite.com/my-site-1/post/hot-fitness-neighbor-rips-her-gym-leggings-and-i-put-my-cock-brian-evansx) · [sorted(b.lower](https://blog.spikyhair.club/oz0301bc/tatsumaki-futanari) · [Такой](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [сразу](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/brackets-razbor-mvcl2oi6.md) · [проверка](https://writefreely.ethibox.fr/ozbb5198/my-singing-monsters-xxx) · [одинаковой](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/bubble-sort-dva-sposoba-mvclwc8s.md) · [Определить](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [случай](https://privatebin.devol.it/?d5fd66cef8601f24#E2cpS6UHp4pCGQZhkBDVz14Uf1HzkwX2cQRPHQLYcCcv) · [второй](https://kappa.lol/TeNMAI) · [анаграммами](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [silent](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/star-sessions-lisa-367a54.pdf) · [проверку](https://sway.cloud.microsoft/CiohWYJ2oc57PzSz) · [задаче](https://paper.wf/katyaschulz04log/lrqsh-dhb-tshkyl-dhhb-mnw-b-s-r-jrm-whd) · [правках](https://annafournier870.overblog.fr/2026/10/silk-058.html) · [проверки](https://paper.wf/sofiawolf77log/indian-leaked-nude) · [Тесты](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-5ab1e8.pdf) · [решение](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/3d-porn-comic-ella-and-david-ea75ca.pdf) · [примерах](https://privatebin.devol.it/?ab94ee18918b484b#9ybUoznTDxpSVWXj7Hso68DxU6RewMwURFXiKmeQVdty) · [памяти](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3546) · [одних](https://hey.xyz/posts/1f9fsg69hzgm36d10ec) · [являются](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/tradingview-desktop-app-for-windows-10-3cd62f.pdf)

