по сути return равнозначен принту в функции, так зачем себе усложнять жизнь созданием лишних переменных? в каких задачах принт бесполезен и return приходит на помощь? подскажите пожалуйста.
Print — показывает что-то на экране и не возвращает значение, с которым можно работать дальше. Только инфу и всё.
Return — передаёт результат работы функции обратно туда, откуда она была вызвана, и возвращённое значение можно присвоить переменной, использовать в других функциях или операциях.
Print бесполезен в любой задаче, где результат функции нужен для дальнейших вычислений или действий, при создании модулей и библиотек и при тестировании кода.