Зачем нужно if __name__ == "__main__"
Долго не писал код на питоне с тестами (зря, кстати) и как-то подзабыл зачем нужна конструкция
if __name__ == "__main__":
В рамках курса “Алгоритмы и структуры данных” каждый день пару хороших задач приходится делать, и без тестов не обойтись. Первую программу написал вроде нормально, оформил тесты для неё, но pytest в vs code ругается :( .

Ошибка оказалась элементарная: в решении всю логику вынес в функцию, чтобы было удобно тестить, а дальше в коде читал данные и вызывал эту функцию. Но в тесте, когда делаю импорт функции, выполняется весь код в теле программы, все эти input() :(
Собственно, если обернуть всю эту часть, чтение/вывод данных, в конструкцию if __name__ == “__main__”: проблема решается - эти строки будут выполняться, если запустить саму программу, но если импортировать модуль - они игнорятся.