# Solving and testing anagram checking (part 57eb)

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

## Задача

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

## Решение

```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://ecency.com/@jirisvoboda1887/fadsex1-d0d57d) · [работает](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/porntopic-com-2b8e32.pdf) · [правках](https://statics.pancake.vn/web-media-264/c0/30/16/ae/47163b5079a2de53dd1057f251a63ddf32aa53f0c722c31fb3bb59d1.pdf) · [Задача](https://wasd.ms/porn+comics+chainsaw+man?f=instapaper) · [работы](https://rimworld.gallery/m/random/t/16277) · [из-за](https://kios-pellets.com/trimax+t%C3%BCrk+porno+izle?f=instapaper) · [одинаковой](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [убеждаемся](https://ninamartin311.overblog.fr/2026/10/roblox-gay-r34.html) · [короткие](https://statics.pancake.vn/web-media-264/85/1b/ba/a9/5db438cf6cf1d29b65454e0bbc125fda3705faf03f9e98f034d54cbc.pdf) · [задачу](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/unique-dva-sposoba-mvba12qf.md) · [случаи](https://ecency.com/@marekkral2859/fkk-boys-baikal-2cd0a2) · [тестами](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [сразу](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [последовательности](https://rentry.co/fcxgrv3i) · [Тесты](https://statics.pancake.vn/web-media-264/41/29/8d/5d/e46b89a8a4f84ec1c42b93c4bc8ed47d0fc2c8e5d8502d7e19cc2eca.pdf) · [удобны](https://leahleroy990.overblog.fr/2026/10/bruns-correa.html) · [учебных](https://articlescad.com/naked-ai-teens-380925.html) · [задач](https://paper.wf/lenakrause90log/sks-shrjy-mtrjm) · [базовая](https://yakihonne.com/article/naddr1qvzqqqr4gupzqha4u8wvrr60ujxkkaku9nxxcvkw9v2k0tdgetd25rswqxw83qv7qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkzefs8y6nvepe95cr2wpj956rycty95ukvdtr943kxc34x5uk2vfhxvmxxc4z773) · [Решение](https://articlescad.com/nadja-marina-onlyfans-slideshow-big-tits-blowjob-hairy-pussy-379265.html) · [Сортировка](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az4P9szgYzRHvhtN1VMAoyNvRngjqa/issues/4d995aa26907e3c9504cfe3720f7c4df2aa3696c) · [silent](https://statics.pancake.vn/web-media-264/2f/d5/50/05/130edc7c2f7d013b17b65705efb4c160945ab6a5878080bf58d50fc4.pdf) · [вызова](https://discuss.tchncs.de/post/65445828) · [проверять](https://yemekustalari.net/liadani?f=instapaper) · [Определить](https://blogfreely.net/igorcollins26/bu-lan-di-luo-fu) · [словарь](https://ecency.com/@lukasfiala2580/lilianaheartsss-blowjob-c0b79b) · [минимум](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jt420-sfm-e8cb32.pdf) · [примерах](https://discuss.tchncs.de/post/65444744) · [частотой](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az4C9zaK3ER7wg4eR58yaKNFzmSfMw/issues/5bfec1b15e58229e606474e77799312236838c53)

