# Solving and testing anagram checking (part 8d67)

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

## Задача

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

## Решение

```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://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/beatrice-re-zero-rule-34-df9f4a.pdf) · [состоят](https://ecency.com/@filipnemec3033/masha-babko-bj-1st-studio-xxx-4e9e65) · [Решение](https://elenaleroy380.overblog.fr/2026/10/ahin-k-porno.html) · [правках](https://paste2.org/91hatsXw) · [привычка](https://privatebin.devol.it/?26634847acb99851#FAPpv6YnaB75uw6HWNEkmFk366SHQbrdjRMnXa9LYL6B) · [задач](https://lauraleroy158.overblog.fr/2026/10/i-layda-t-rk-st-n-ilaydaaust-onlyfans-leaks-amateur-videos.html) · [наглядное](https://ericaltman.net/bryce+adams+boat+sex?f=instapaper) · [Пример](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/z-karde-ine-kendini-zorla-siktiren-abla-214ceb.pdf) · [тестами](https://radicle.network/nodes/seed.pipapo.org/rad%3Az3cNLTFw1uj8P5kPkE45EPDcv1tgS/issues/9617b1a0d788026fbff2adf5ee4ef69dbee165d9) · [последовательности](https://clararoux564.overblog.fr/2026/10/post-9.html) · [хороший](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/baba-bruno-cock-579088.pdf) · [решение](https://abrown18078.wixsite.com/my-site-1/post/who-is-john-doe-in-roblox-forsaken-character-lore) · [случайной](https://abronxtaleonbroadway.com/cozy_cabin_mom?f=instapaper) · [Хорошая](https://paper.wf/maria1983log/ttnk-wtshkhr-dn-lmsry-lshrmwt-fy-hl-sks-msry) · [Сложность](https://statics.pancake.vn/web-media-264/bc/e3/ae/f5/48a1dbf8589090f5ebfe882dadfa0f5966a525780dcf253d9b11280a.pdf) · [защищает](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Разберём](https://rentry.co/boyst0178-610190) · [случаи](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [являются](https://radicle.network/nodes/index.radicle.garden/rad%3AzafMfdyotgB9ctUrrLq9ceobyYat/issues/4beaf982c3fb93263c2c6e0ac22f25ae6670a0e2) · [проверку](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [анаграммами](https://discuss.tchncs.de/post/65439964) · [вызова](https://discuss.tchncs.de/post/65443735) · [проверять](https://sofiamartin803.overblog.fr/2026/10/alizade-pornosu-if-a-olunmu-xsi-anlar-v-nadir-kadrlar.html)

