why petrol and diesel engine will not give 100% efficiency.
No engine, including petrol and diesel engine, can give 100% efficiency. This is the result of 2nd law of thermodynamics.
More importantly heat engines like petrol and diesel cannot be more efficient than the Carnot efficiency which is itself below 100% efficiency.