Трассировка Python — выполнение кода по шагам
Посмотри, что происходит внутри программы: как выполняется каждая строка и как меняются переменные. Полезно, когда код выдаёт не то, что ожидаешь.
Зачем трассировать код
- Понять, а не гадать: проходишь программу глазами исполнителя — видно, где всё пошло не так.
- Навык олимпиадника: умение «прокрутить» цикл или рекурсию в голове — базовое; здесь можно тренироваться.
Как это работает
Код исполняется прямо в твоём браузере (Python скомпилирован в WebAssembly), а трассировщик записывает каждую строку и значения переменных — ничего не отправляется на сервер.
Что видно по шагам
На каждом шаге показывается текущая строка и все переменные с их значениями: как накапливается сумма в цикле, как меняется список после append, какой стал индекс после i += 1. В рекурсии видно вложенные вызовы — сколько их и с какими аргументами, а значит и момент, когда рекурсия не останавливается.
Какие ошибки ловятся быстрее всего
- Цикл не выполнился ни разу:
range(0)или условие сразу ложно — на трассировке тело просто пропускается. - Промах на единицу: последний элемент не обработан или индекс вышел за границу — видно на последней итерации.
- Переменная-накопитель обнуляется внутри цикла вместо того, чтобы объявляться до него.
- Список меняется во время перебора — элементы «перепрыгиваются».
Зачем это на олимпиаде
На туре трассировщика не будет: прокручивать цикл и рекурсию придётся в голове или на листке. Здесь этот навык тренируется с обратной связью — сначала предскажи, что выведет программа, потом прокрути пошагово и сверься.