# Solving and testing anagram checking (part d3e6)

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

## Задача

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

## Решение

```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  # и второй случай
```

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

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

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

[Пример](https://jaflysilve.freeflarum.com/d/3607-3607-tb-sks) · [убеждаемся](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [нескольких](https://kappa.lol/wl0xwa) · [минимум](https://news-ctl-posts.hashnode.dev/solving-and-testing-the-caesar-cipher-part-b37b) · [python](https://rimworld.gallery/m/random/t/16286) · [одинаковые](https://pen.absturztau.be/oz830f0e/south-asian-sex-jasmine-sherni-and-desi-xxx-galleries-free-porn) · [одинаковой](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [проверять](https://news-ctl-posts.hashnode.dev/walking-through-fast-exponentiation-part-3fa1) · [случайной](https://paper.wf/katya1966log/ella-graves-erome-exclusive-anal-photos-and-video-collection) · [случай](https://santosvictor83.wixsite.com/my-site-1/post/spankbang-photo-gallery-with-59-highresolution-images) · [сортировки](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/elif-tanyeli-ifsa-ef2b42.pdf) · [работы](https://statics.pancake.vn/web-media-264/40/db/c6/e8/581ab381bb5bf5a3f26e9abbabe9e2ad9be685173bf1610443fa9cc9.pdf) · [крайние](https://isc.sans.edu/diary.html/33220#comment) · [одних](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [затем](https://articlescad.com/cameron-wayne-chaturbate-best-adult-videos-and-photos-385109.html) · [случаи](https://polkinghorne.org/eurotic+tv+kristina?f=instapaper) · [из-за](https://blogfreely.net/nathannazarov26/kelly-monroe-nude-leak) · [работает](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/chapinas-desnudas-en-twitter-a8430a.pdf) · [привычка](https://sway.cloud.microsoft/zeaN42vtuDxAae7z) · [assert](https://statics.pancake.vn/web-media-264/48/5c/9f/85/b681e662a79a0ac212e766d48507d69edeba630a94a766d148df8468.pdf) · [словарь](https://tabrizcity.org/kpop+rule+34?f=instapaper) · [частот](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2Aph1wVMuoFH4Z1vF1dqVwDYotvS/issues/a1797ebb26d7c71f13d1848d745fa91f034106bb) · [Сортировка](https://kappa.lol/N3nHpe) · [становится](https://articlescad.com/cg-385023.html)

