Rotation always changing values!

Vector3 rot = transform.localEulerAngles;
if(Input.GetKey(KeyCode.P))
{
rot.y = 160.0f;

         mouseLook.enabled = false;
         theCamera.localRotation = Quaternion.Slerp(theCamera.localRotation, Quaternion.Euler(rot), Time.deltaTime * 10);
       }
 
       else
       {
         mouseLook.enabled = true;
         theCamera.localRotation = Quaternion.Slerp(theCamera.localRotation, Quaternion.identity, Time.deltaTime * 10);
       }

How do I fix the camera rotation so that it will not change all the time if localRotation.y will reach to zero after I released the ā€œPā€ button

float timeframe = 0;
timeframe += Time.deltaTime/10.0f; //lets rotate over 10 seconds
theCamera.localRotation = Quaternion.Slerp(theCamera.localRotation, Quaternion.Euler(rot), timeframe);

timeframe needs to go from 0-1 to complete the slerp. when you do Time.deltaTime10, its only staying at around the value of dt10 and not going from 0-1;