не понял. функция если не находит локальную переменную, ищет её глобально. вроде здесь не обязателен global
можно поподробнее про это? по идее когда интерпретатор доходит до строки if tick % 2 ..., он не находит переменную tick локально, потому что она не объявлена внутри функции, а объявлена снаружи, значит функция итак возьмёт именно глобальную переменную tick