# Solving and testing string reversal

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

## Задача

Перевернуть строку: из `"python"` получить `"nohtyp"`. Задача-разминка, знакомая каждому новичку.

## Решение

```python
def reverse_string(s: str) -> str:
    return s[::-1]


print(reverse_string("python"))
```

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

Срез `[::-1]` проходит строку с конца с шагом -1 и создаёт перевёрнутую копию. Это идиоматичный способ в Python; в других языках тот же результат даёт цикл от конца к началу.

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

```text
nohtyp
```

## Сложность

O(n) по времени и памяти.


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

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

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

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

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

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

[Задача-разминка](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/angel-the-dreamgirl-619abf.pdf) · [работы](https://kappa.lol/voBN8m) · [идиоматичный](https://hey.xyz/posts/x45ytpvmqs6y75tayf) · [затем](https://elenaleroy380.overblog.fr/2026/11/minimalist-pastel-plant-wallpaper.html) · [Задача](https://paper.wf/ninarichter02log/allimacme) · [началу](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-bda464.pdf) · [Перевернуть](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/ou-se-passe-la-serie-memoire-vive-16040c.pdf) · [привычка](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [каждому](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/porn-d2f191.pdf) · [Проверка](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/sieve-tests-mw1g84fe.md) · [проходит](https://ecency.com/@martinbenes5410/post-eb67d9) · [сразу](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/shotastic-5f455d.pdf) · [примерах](https://elenaroux735.overblog.fr/2026/11/boondraws.html) · [return](https://rentry.org/imyujia-170382) · [фреймворков](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-feb7a9.pdf) · [правках](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/vinnyinnocent-9f88a3.pdf) · [новичку](https://discuss.tchncs.de/post/65444252) · [короткие](https://statics.pancake.vn/web-media-264/68/b0/5f/45/1706615f0b2a5d44b6175703c3b1b4c13d0adb7f848f600cc0849826.pdf) · [тестами](https://articlescad.com/juy-996-411817.html) · [проверка](https://radicle.network/nodes/seed.pipapo.org/rad%3Az2LbtGHsnL2dzykFL8YCzhARGdz4m/issues/7ad0bf199be429d1e4ee282ed76ddf48bcc19515) · [крайние](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Решение](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg)

