# Solving and testing anagram checking (part 710a)

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

## Задача

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

## Решение

```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://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/youngtube-starsessions-ede7e7.pdf) · [одинаковой](https://writefreely.ethibox.fr/oz82c64c/twytr-nyk-khlfy-l-flm-rby-bhy-wmqt-sks-khlfy-m-nmdhj-blg) · [последовательности](https://paper.wf/clarawagner93log/turkce-altyazili-xyz-pornolar) · [Задача](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [привычка](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-d107f2.pdf) · [убеждаемся](https://exhibit95714.mataroa.blog/blog/mika-lafuente-nude/) · [являются](https://drop.xtrafrancyz.net/selif/w66cbfgpyn.pdf) · [проверять](https://exhibit29968.mataroa.blog/blog/yuixin/) · [наглядные](https://news-ctl-posts.hashnode.dev/a-step-by-step-look-at-bracket-sequence-validation-part-cbe0) · [минимум](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/drinking-around-the-world-epcot-address-39494d.pdf) · [примерах](https://hey.xyz/posts/3sggz4wvxzgbtc8vjnr) · [случаи](https://wuchu-pub.com/uploads/20261018/419b0160195718a264b69277cd5a6c02.pdf) · [защищает](https://discuss.tchncs.de/post/65443468) · [Хорошая](https://kappa.lol/hgFDO8) · [фреймворков](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bokep-tobrut-indo-199177.pdf) · [работает](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [наглядное](https://hey.xyz/posts/13hkehjxn1av3qwfvpa) · [silent](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [крайние](https://drop.xtrafrancyz.net/selif/5expnv801i.pdf) · [Проверка](https://articlescad.com/milftoon-t-rk-e-oku-383150.html) · [Такой](https://wuchu-pub.com/uploads/20261018/040fbf34527f7fe08f65ec8ffb8397ea.pdf) · [сортировки](https://laurasimon573.overblog.fr/2026/10/nazlican-tanriverdi.html) · [второй](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kjanecaron-f1443b.pdf) · [Тесты](https://wuchu-pub.com/uploads/20261018/4062fd482fd8cc52f841ddd65b933c2e.pdf) · [разработчика](https://www.imagefap.com/pictures/14229503/genz3x-com-free-hardcore-porn-videos-and-threesome-sex) · [python](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/33thz-com-3adfaa.pdf)

