机械能守恒的条件是只有重力或弹力做功.当然包括弹力和重力同时做功,也就是说只有弹力和重力同时做功时机械能是守恒.
这里的弹力指弹簧类的弹力,也就是弹力做功时有弹性势能的变化.一般物体的弹力做功不会引起弹性势能的变化所以不在此范围之内.